Skip to main content

Module log

Module log 

Source
Expand description

MetadataEventLog: the publish/subscribe seam between the TopicBasedRemoteLogMetadataManager and the underlying durable event store.

The in-process implementation, InProcessMetadataEventLog, is an in-memory broadcast-channel fixture that unit tests use. It is also a single-process model for the multi-broker case, because multiple manager instances that share the same fixture observe each other’s writes. The production Kafka-backed adapter implements the same trait.

MetadataEventLog::subscribe does not consume every partition from offset 0. It takes an explicit PartitionStart assignment, which is a subset of partitions, each with its own start offset. It returns an AssignmentHandle that can mutate the live assignment at runtime.

Structs§

InProcessMetadataEventLog
Single-process MetadataEventLog for unit tests and for the multi-broker fixture. Multiple manager instances that clone the same Arc observe each other’s writes.
KeyedEvent
One keyed record of a MetadataEventLog::publish_keyed_group call.
MetadataEventRecord
One event read from the metadata log.
PartitionStart
One partition to consume and the offset to begin at (inclusive).

Traits§

AssignmentHandle
Runtime control over a live MetadataEventLog subscription’s assigned partition set. MetadataEventLog::subscribe returns it together with the stream.
MetadataEventLog
Publish/subscribe transport that backs the __remote_log_metadata topic.

Type Aliases§

MetadataEventStream
Boxed event stream the MetadataEventLog hands to subscribers.
RangeVisitor
Receives each record of MetadataEventLog::visit_range. An error stops the read, and the read returns it.