Class: OneWire::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/one_wire/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(socket) ⇒ Response

Returns a new instance of Response.

Raises:



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

#dataObject (readonly)

Returns the value of attribute data.



14
15
16
# File 'lib/one_wire/response.rb', line 14

def data
  @data
end

#flagsObject (readonly)

Returns the value of attribute flags.



14
15
16
# File 'lib/one_wire/response.rb', line 14

def flags
  @flags
end

#return_valueObject (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