Expand description
Binary wire format for __remote_log_metadata events.
This module encodes records through
[krabka_protocol::RemoteLogMetadataRecord], which produces bytes that are
byte-identical to the JVM RemoteLogMetadataSerde. That is the
AbstractApiMessageSerde envelope, with all three header fields written as
unsigned varints: frameVersion(uvarint)=1 | apiKey(uvarint) | apiVersion(uvarint) | flexible-message-body.
apiKey mapping:
- 0 =
RemoteLogSegmentMetadataRecordโMetadataEvent::AddSegment - 1 =
RemoteLogSegmentMetadataUpdateRecordโMetadataEvent::UpdateSegment - 2 =
RemotePartitionDeleteMetadataRecordโMetadataEvent::PartitionDelete
One submodule per record, plus the scalar conversions they share:
segment_metadata for apiKey 0, segment_update for apiKey 1,
partition_delete for apiKey 2, and primitives for the UUID, state-byte
and custom-metadata conversions all three use. The unrelated varint and
cursor helpers that snapshot.rs frames its own envelope with live in
reader.
Enumsยง
- Metadata
Event - One of the three event variants the topic carries.