Sha256: 7d3a6fcf831e1d8a1d35ec8dd2867305c8926b4b7a22cfd72adb1005a97a8531
Contents?: true
Size: 638 Bytes
Versions: 1
Compression:
Stored size: 638 Bytes
Contents
module OneWire class Response 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 attr_reader :data, :return_value, :flags end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
one_wire-0.1.1 | lib/one_wire/response.rb |