Class: MessagePack::RPC::RevSocket
- Inherits:
-
Rev::TCPSocket
- Object
- Rev::TCPSocket
- MessagePack::RPC::RevSocket
- Includes:
- RPCSocket
- Defined in:
- lib/msgpack/rpc.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(*args) ⇒ RevSocket
constructor
A new instance of RevSocket.
- #on_read(data) ⇒ Object
- #send_message(msg) ⇒ Object
Methods included from RPCSocket
#on_close, #on_message, #on_notify, #on_request, #on_response, #send_notify, #send_request, #send_response, #session=
Constructor Details
#initialize(*args) ⇒ RevSocket
Returns a new instance of RevSocket.
128 129 130 131 132 133 |
# File 'lib/msgpack/rpc.rb', line 128 def initialize(*args) @buffer = '' @nread = 0 @mpac = MessagePack::Unpacker.new super end |
Instance Method Details
#on_read(data) ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/msgpack/rpc.rb', line 135 def on_read(data) @buffer << data while true @nread = @mpac.execute(@buffer, @nread) if @mpac.finished? msg = @mpac.data @mpac.reset @buffer.slice!(0, @nread) @nread = 0 (msg) # RPCSocket#on_message next unless @buffer.empty? end break end end |
#send_message(msg) ⇒ Object
157 158 159 |
# File 'lib/msgpack/rpc.rb', line 157 def (msg) write msg.to_msgpack end |