Class: Celluloid::WebSocket::MessageStream
- Inherits:
-
Object
- Object
- Celluloid::WebSocket::MessageStream
- Defined in:
- lib/celluloid/websocket.rb
Constant Summary collapse
- BUFFER_SIZE =
16384
Instance Method Summary collapse
-
#initialize(socket, driver) ⇒ MessageStream
constructor
A new instance of MessageStream.
- #read ⇒ Object
Constructor Details
#initialize(socket, driver) ⇒ MessageStream
Returns a new instance of MessageStream.
91 92 93 94 95 96 97 98 99 |
# File 'lib/celluloid/websocket.rb', line 91 def initialize(socket, driver) @socket = socket @driver = driver @message_buffer = [] @driver.on :message do || @message_buffer.push(.data) end end |
Instance Method Details
#read ⇒ Object
101 102 103 104 105 106 107 |
# File 'lib/celluloid/websocket.rb', line 101 def read while @message_buffer.empty? buffer = @socket.readpartial(BUFFER_SIZE) @driver.parse(buffer) end @message_buffer.shift end |