Skip to main content

Module serde

Module serde 

Source
Expand description

Compact binary serialization for Interval Tree Clock stamps.

§Wire format (v1)

version:            u8        (currently 1)
id_bits_len:        varint    (number of meaningful bits)
id_bits:            bytes     (packed MSB-first)
event_bits_len:     varint    (number of meaningful bits)
event_bits:         bytes     (packed MSB-first)
event_values_len:   varint    (number of bytes)
event_values:       bytes     (varint-encoded node values)

Id encoding (preorder):

  • 0 bit = leaf, followed by 1 bit for value (0 => Id::Zero, 1 => Id::One)
  • 1 bit = branch, followed by left subtree then right subtree

Event encoding (preorder):

  • node kind bit: 0 leaf / 1 branch
  • node value/base: unsigned varint
  • branch then continues with left subtree, then right subtree

This split representation keeps branch/leaf structure bit-packed while preserving compact integer encoding for counters.

Enums§

CodecError
Errors returned by compact ITC serialization/deserialization.