class ClientForPoslynx::Net::EM_Connector::EventDispatcher

Constants

NULL_LISTENER

Attributes

callback_map[R]
connection[R]
original_dispatcher[R]

Public Class Methods

for_connect(connection, opts) click to toggle source
# File lib/client_for_poslynx/net/em_connector/event_dispatcher.rb, line 17
def for_connect(connection, opts)
  original_dispatcher = opts[:original_dispatcher]
  callback_map = EMC.CallbackMap(
    connection_completed: opts[:on_success],
    unbind:               opts[:on_failure],
  )
  new( connection, original_dispatcher, callback_map )
end
for_disconnect(connection, opts) click to toggle source
# File lib/client_for_poslynx/net/em_connector/event_dispatcher.rb, line 26
def for_disconnect(connection, opts)
  callback_map = EMC.CallbackMap(
    unbind: opts[:on_completed]
  )
  new( connection, nil, callback_map )
end
for_send_request(connection, opts) click to toggle source
# File lib/client_for_poslynx/net/em_connector/event_dispatcher.rb, line 33
def for_send_request(connection, opts)
  callback_map = EMC.CallbackMap(
    receive_response: opts[:on_response],
    unbind:           opts[:on_failure],
  )
  new( connection, nil, callback_map )
end
new(connection, original_dispatcher = nil, callback_map = EMC.CallbackMap()) click to toggle source
# File lib/client_for_poslynx/net/em_connector/event_dispatcher.rb, line 42
def initialize(connection, original_dispatcher = nil, callback_map = EMC.CallbackMap())
  @connection = connection
  @original_dispatcher = original_dispatcher
  @callback_map = callback_map
end
null(connection) click to toggle source
# File lib/client_for_poslynx/net/em_connector/event_dispatcher.rb, line 13
def null(connection)
  new( connection )
end

Public Instance Methods

[]=(event_type, callback) click to toggle source
# File lib/client_for_poslynx/net/em_connector/event_dispatcher.rb, line 48
def []=(event_type, callback)
  callback_map[event_type] = callback
end
event_occurred(event_type, *args) click to toggle source
# File lib/client_for_poslynx/net/em_connector/event_dispatcher.rb, line 52
def event_occurred(event_type, *args)
  connection.reset_event_dispatcher
  original_dispatcher.event_occurred( event_type, *args ) if original_dispatcher
  callback_map.call event_type, *args
end