Package-level declarations
Types
A CheckpointStore in memory, for tests and samples.
An EventLog in memory, for tests and samples. Appends are serialized by one lock, so the sequence within a partition is trivially the order commits became visible. As the durable backends, it keeps the request key per aggregate type. Each partition keeps its PartitionLineage, PartitionLineage.ROOT as created. It keeps each stream's stamp, stamps the access attributes over a history and records each type's walk (AccessWalks) as the durable logs do; its aggregates are ordered by id, then tenant.
A FailureLedger in memory, for tests and samples, keyed by subscription (SubscriptionId) and aggregate. Every operation is serialized by one lock.
A LeaseStore in memory, for tests and single-process samples; its time comes from clock. One lock serializes every operation. A released lease is kept with expiry 0, so the next acquisition continues its epoch.
A ReservationStore in memory, for tests and samples: one entry per (aggregate type, tenant, namespace, key). Every operation is serialized by one lock; expiry follows clock.
A SnapshotStore in memory, for tests and samples. The version guard is one atomic compute per ref, and a table's claim one atomic compute per aggregate type.
A TimerStore in memory, for tests and samples. Every operation is serialized by one lock.
Topics in memory, a TopicProducer and a PartitionedSource at once, for tests and samples, as the other in-memory backends: a topic is created, or created with partitions partitions when it is first written or read; a message goes to the partition it names, else to the one its key's hash picks (partitionOf), and every partition keeps what it was sent, from offset 0, up to its last retention messages, until retain drops its oldest messages as a broker's retention would.