Class: DRb::WebSocket::CallbackHandler
- Inherits:
-
Object
- Object
- DRb::WebSocket::CallbackHandler
- Defined in:
- lib/drb/websocket/client.rb
Instance Method Summary collapse
-
#initialize(uri) ⇒ CallbackHandler
constructor
A new instance of CallbackHandler.
- #on_message(data) ⇒ Object
- #on_session_start(ws) ⇒ Object
- #send(uri, data) ⇒ Object
- #stream ⇒ Object
Constructor Details
#initialize(uri) ⇒ CallbackHandler
Returns a new instance of CallbackHandler.
24 25 26 27 28 |
# File 'lib/drb/websocket/client.rb', line 24 def initialize(uri) @uri = uri @queue = Thread::Queue.new @sender_id = SecureRandom.uuid end |
Instance Method Details
#on_message(data) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/drb/websocket/client.rb', line 30 def (data) sender_id = data.shift(36).pack('C*') if sender_id == @sender_id sio = StrStream.new sio.write(data.pack('C*')) @queue.push sio end end |
#on_session_start(ws) ⇒ Object
40 41 42 |
# File 'lib/drb/websocket/client.rb', line 40 def on_session_start(ws) @ws = ws end |
#send(uri, data) ⇒ Object
48 49 50 |
# File 'lib/drb/websocket/client.rb', line 48 def send(uri, data) @ws.send((@sender_id + data).bytes) end |
#stream ⇒ Object
44 45 46 |
# File 'lib/drb/websocket/client.rb', line 44 def stream @queue.pop end |