class Cql::Client::ConnectionManager
@private
Public Class Methods
new()
click to toggle source
# File lib/cql/client/connection_manager.rb, line 9 def initialize @connections = [] @lock = Mutex.new end
Public Instance Methods
add_connections(connections)
click to toggle source
# File lib/cql/client/connection_manager.rb, line 14 def add_connections(connections) @lock.synchronize do @connections.concat(connections) connections.each do |connection| connection.on_closed do @lock.synchronize do @connections.delete(connection) end end end end end
connected?()
click to toggle source
# File lib/cql/client/connection_manager.rb, line 27 def connected? @lock.synchronize do @connections.any? end end
each_connection(&callback)
click to toggle source
# File lib/cql/client/connection_manager.rb, line 46 def each_connection(&callback) return self unless block_given? raise NotConnectedError unless connected? @lock.synchronize do @connections.each(&callback) end end
Also aliased as: each
random_connection()
click to toggle source
# File lib/cql/client/connection_manager.rb, line 39 def random_connection raise NotConnectedError unless connected? @lock.synchronize do @connections.sample end end
snapshot()
click to toggle source
# File lib/cql/client/connection_manager.rb, line 33 def snapshot @lock.synchronize do @connections.dup end end