Module wire

Module wire 

Source
Expand description

Message codec (hierarchical sections, lists, key/value pairs).

Encoding summary (as specified by the VICI protocol):

  • Element types are 8-bit values:
    • 1: SECTION_START (has a name)
    • 2: SECTION_END
    • 3: KEY_VALUE (has name + value)
    • 4: LIST_START (has a name)
    • 5: LIST_ITEM (has a value)
    • 6: LIST_END
  • Names are ASCII strings preceded by an 8-bit length (not NUL-terminated).
  • Values are raw blobs preceded by a 16-bit big-endian length.

Transport framing (outside of this module) wraps the packet with a 32-bit big-endian length field, followed by: packet type (u8), optional name, and the encoded message bytes.

Structs§

Message
A full message consisting of a flat sequence of elements. The sequence must be balanced with regards to sections and lists.

Enums§

Element
A single message element.