Class: Trophonius::ConnectionManager
- Inherits:
-
Object
- Object
- Trophonius::ConnectionManager
- Includes:
- DebugPrinter
- Defined in:
- lib/connectors/connection_manager.rb
Instance Method Summary collapse
- #dequeue(id) ⇒ Object
- #disconnect_all ⇒ Object
- #enqueue(id) ⇒ Object
-
#initialize ⇒ ConnectionManager
constructor
A new instance of ConnectionManager.
Methods included from DebugPrinter
Constructor Details
#initialize ⇒ ConnectionManager
Returns a new instance of ConnectionManager.
5 6 7 8 9 10 11 12 13 |
# File 'lib/connectors/connection_manager.rb', line 5 def initialize @connections = {} Trophonius.config.pool_size.times do connection = Connection.new @connections[connection.id] = { connection: connection, queue: [] } DebugPrinter.print_debug('CONNECTION CREATED', @connections[connection.id].inspect) end end |
Instance Method Details
#dequeue(id) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/connectors/connection_manager.rb', line 22 def dequeue(id) connection = @connections.values.find { |c| c[:queue].include?(id) } connection[:queue].delete_if { |q_id| q_id == id } puts "out,#{connection[:connection].id},#{connection[:connection].token},#{connection[:queue].length}" if Trophonius.config.debug == true nil end |
#disconnect_all ⇒ Object
29 30 31 32 |
# File 'lib/connectors/connection_manager.rb', line 29 def disconnect_all @connections.reject { |_connection_id, connection| connection[:connection].token.blank? } .each { |_connection_id, connection| connection[:connection].disconnect } end |
#enqueue(id) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/connectors/connection_manager.rb', line 15 def enqueue(id) connection = @connections.values.min_by { |c| c[:queue].length } connection[:queue].push(id) puts "in,#{connection[:connection].id},#{connection[:connection].token},#{connection[:queue].length}" if Trophonius.config.debug == true auth_header_bearer(connection[:connection].id) end |