Class: Nl::Protocols::Raw::DataTypes::Bitfield32

Inherits:
Object
  • Object
show all
Defined in:
lib/nl/protocols/raw.rb

Overview

A 32-bit value paired with a selector mask (8 bytes total: value u32 + selector u32)

Instance Method Summary collapse

Instance Method Details

#decode(decoder) ⇒ Object



327
328
329
330
331
# File 'lib/nl/protocols/raw.rb', line 327

def decode(decoder)
  value = decoder.get_value(Endian::Host::U32)
  selector = decoder.get_value(Endian::Host::U32)
  [value, selector]
end

#encode(encoder, value) ⇒ Object



321
322
323
324
325
# File 'lib/nl/protocols/raw.rb', line 321

def encode(encoder, value)
  v, selector = value.is_a?(Array) ? value : [value, 0xFFFFFFFF]
  encoder.put_value(Endian::Host::U32, v)
  encoder.put_value(Endian::Host::U32, selector)
end