Class: Bidi2pdf::Bidi::WebSocketDispatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/bidi2pdf/bidi/web_socket_dispatcher.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(socket) ⇒ WebSocketDispatcher

Returns a new instance of WebSocketDispatcher.



10
11
12
13
14
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 10

def initialize(socket)
  @socket = socket
  @socket_events = EventManager.new("socket-event")
  @session_events = EventManager.new("session-event")
end

Instance Attribute Details

#session_eventsObject (readonly)

Returns the value of attribute session_events.



8
9
10
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 8

def session_events
  @session_events
end

#socket_eventsObject (readonly)

Returns the value of attribute socket_events.



8
9
10
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 8

def socket_events
  @socket_events
end

Instance Method Details

#on_closeObject



31
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 31

def on_close(&) = socket_events.on(:close, &)

#on_errorObject



33
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 33

def on_error(&) = socket_events.on(:error, &)

#on_event(*event_names) ⇒ Object



27
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 27

def on_event(*event_names, &) = session_events.on(*event_names, &)

#on_messageObject

Add listeners



25
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 25

def on_message(&) = socket_events.on(:message, &)

#on_openObject



29
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 29

def on_open(&) = socket_events.on(:open, &)

#remove_close_listener(listener) ⇒ Object



41
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 41

def remove_close_listener(listener) = socket_events.off(:close, listener)

#remove_error_listener(listener) ⇒ Object



43
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 43

def remove_error_listener(listener) = socket_events.off(:error, listener)

#remove_event_listener(name, listener) ⇒ Object



37
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 37

def remove_event_listener(name, listener) = session_events.off(name, listener)

#remove_message_listener(block) ⇒ Object



35
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 35

def remove_message_listener(block) = socket_events.off(:message, block)

#remove_open_listener(listener) ⇒ Object



39
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 39

def remove_open_listener(listener) = socket_events.off(:open, listener)

#start_listeningObject



16
17
18
19
20
21
# File 'lib/bidi2pdf/bidi/web_socket_dispatcher.rb', line 16

def start_listening
  Bidi2pdf.logger.debug "Registering WebSocket event listeners"

  setup_connection_lifecycle_handlers
  setup_message_handler
end