Class: OneWire::Response
- Inherits:
-
Object
- Object
- OneWire::Response
- Defined in:
- lib/one_wire/response.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Returns the value of attribute data.
-
#flags ⇒ Object
readonly
Returns the value of attribute flags.
-
#return_value ⇒ Object
readonly
Returns the value of attribute return_value.
Instance Method Summary collapse
-
#initialize(socket) ⇒ Response
constructor
A new instance of Response.
Constructor Details
#initialize(socket) ⇒ Response
Returns a new instance of Response.
3 4 5 6 7 8 9 10 11 12 |
# File 'lib/one_wire/response.rb', line 3 def initialize(socket) begin header = socket.read(24) raise ShortRead unless header && header.size == 24 version, payload_size, @return_value, @flags, data_size, offset = header.unpack('NNNNNN') raise SystemCallError, 2**32 - @return_value, "OWServer" if @return_value > 2**31 end while payload_size > 2**31 # negative payload size indicates a server 'keep-alive' ping raise BadRead if data_size > 2**31 @data = socket.read(payload_size)[0...data_size] unless payload_size.zero? end |
Instance Attribute Details
#data ⇒ Object (readonly)
Returns the value of attribute data.
14 15 16 |
# File 'lib/one_wire/response.rb', line 14 def data @data end |
#flags ⇒ Object (readonly)
Returns the value of attribute flags.
14 15 16 |
# File 'lib/one_wire/response.rb', line 14 def flags @flags end |
#return_value ⇒ Object (readonly)
Returns the value of attribute return_value.
14 15 16 |
# File 'lib/one_wire/response.rb', line 14 def return_value @return_value end |