Sha256: f4d38630717b8f1e18149c0e2339d22b16be709eee5886c824418104cbdf6825
Contents?: true
Size: 998 Bytes
Versions: 13
Compression:
Stored size: 998 Bytes
Contents
class Indocker::ServerPools::DeployServerPool def initialize(configuration:, logger:) @logger = logger @configuration = configuration @connections = [] @semaphore = Mutex.new end def create_connection!(server) connection = Indocker::ServerPools::DeployServerConnection.new( logger: @logger, configuration: @configuration, server: server, ) connection.create_session! connection end def find_or_create_connection!(server) @semaphore.synchronize do connection = @connections.detect do |connection| connection.server.host == server.host && connection.server.port == server.port && connection.server.user == server.user end if connection.nil? connection = create_connection!(server) @connections.push(connection) end connection end end def each(&proc) @connections.each(&proc) end def close_sessions @connections.each(&:close_session) end end
Version data entries
13 entries across 13 versions & 1 rubygems