class

Homekit::TLV::Atom

Inherits BinData < Reference < Object

Constants

AFTER_DESERIALIZE = [] of Nil
BEFORE_SERIALIZE = [] of Nil
ENDIAN = ["little"]
KLASS_NAME = [Homekit::TLV::Atom]
PARTS = [{type: "basic", name: type_id, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: "basic", name: length, cls: UInt8, onlyif: nil, verify: nil, value: -> do raw_data.size.to_u8 end}, {type: "bytes", name: raw_data, cls: Bytes, onlyif: nil, verify: nil, length: -> do length end, value: nil}] of Nil
REMAINING = [] of Nil

Class methods

bit_fields
Source

Instance methods

__format__

A group or bit_field captures the endianness at its declaration point, so declaring endian after one would silently leave it system-endian. Fail loudly.

Source
acknowledgment?
Source
data
Source
error?
Source
identifier
Source
ignore?
Source
known_type?
Source
length
length=(length : UInt8)
method
Source
next_fragment
Source
next_fragment=(next_fragment : Atom | Nil)
Source
permissions
Source
raw_data
raw_data=(raw_data : Bytes)
separator?
Source
to_f
Source
to_f32
Source
to_f64
Source
to_i
Source
to_i16
Source
to_i32
Source
to_i64
Source
to_i8
Source
to_s

Returns a nicely readable and concise string representation of this object, typically intended for users.

This method should usually not be overridden. It delegates to #to_s(IO) which can be overridden for custom implementations.

Also see #inspect.

Source
to_u16
Source
to_u32
Source
to_u64
Source
to_u8
Source
type
Source
type_id

we don't use enum_field so we can ignore new types that we don't know of yet

type_id=(type_id : UInt8)

we don't use enum_field so we can ignore new types that we don't know of yet