Class: Hacklet::Message
- Inherits:
-
BinData::Record
- Object
- BinData::Record
- Hacklet::Message
- Defined in:
- lib/hacklet/messages.rb
Direct Known Subclasses
AckResponse, BootConfirmRequest, BootConfirmResponse, BootRequest, BootResponse, BroadcastResponse, HandshakeRequest, HandshakeResponse, LockRequest, LockResponse, SamplesRequest, SamplesResponse, ScheduleRequest, ScheduleResponse, UnlockRequest, UpdateTimeAckResponse, UpdateTimeRequest, UpdateTimeResponse
Instance Method Summary collapse
Instance Method Details
#calculate_checksum ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/hacklet/messages.rb', line 5 def calculate_checksum checksum_fields = @field_names - [:header, :checksum] buffer = StringIO.new io = BinData::IO.new(buffer) checksum_fields.each do |field| send(field).do_write(io) end buffer.rewind buffer.read.bytes.inject(0) { |s,x| s^x } end |