Skip to main content

Crate acyclic_stream

Crate acyclic_stream 

Source
Expand description

§acyclic-stream

Hierarchical append-only streams with exact sequence cursors, conditional appends, forks, and coordinated commits. A StreamClient wraps any StreamProvider without changing provider semantics.

cargo add acyclic-stream

The default grpc feature provides the service client; local enables the durable local implementation. MemoryStream is deterministic but process-local. Use StreamPath::new to validate a path, keep the returned cursor when consuming records, and use an idempotency key plus tail precondition when retrying or coordinating writes.

The Rust API and v2 protocol are the sources for exact limits and commit behavior.

Modules§

conformance
Reusable black-box qualification of the complete public Stream contract.
grpc
Authenticated gRPC adapter for the canonical Stream provider contract.
wire
Generated canonical Stream v2 protocol.

Structs§

AppendReceipt
Successful contiguous append.
AppendRequest
One atomic append request.
Child
One immutable direct child.
ChildrenRequest
Fixed-snapshot direct-child page request.
CommitId
Opaque content-bound identity of one committed envelope.
CommitRequest
One bounded all-or-nothing optimistic commit.
CommittedAppend
Append fact retained in a committed envelope.
CommittedDelete
Permanent deletion fact retained in a committed envelope.
CommittedEnvelope
Complete immutable successful mutation envelope.
CommittedFork
Fork fact retained in a committed envelope.
CommittedTrim
Logical trim fact retained in a committed envelope.
DeleteReceipt
Successful permanent logical deletion.
ForkReceipt
Successful O(1) immutable-prefix fork.
ForkRequest
One fork request. Absence of at_tail selects the source tail atomically.
IdempotencyKey
Account-scoped stable retry identity.
IdempotencyObservation
Exact retained recovery fact for one caller-owned retry identity.
MemoryLimits
Explicit fail-closed process-memory ceilings.
MemoryStream
Deterministic process-local provider. It retains idempotency results indefinitely, satisfying the minimum 24-hour contract while the process exists; it deliberately claims no crash recovery.
ReadRequest
Required-bounds finite read.
Record
One immutable record.
Stream
Handle to one permanent Stream path.
StreamClient
Minimal provider-bound client.
StreamPath
Permanent account-relative slash-separated ASCII path.
SystemUnixMillisClock
Production wall clock for deadline-aware providers.
TrimReceipt
Successful monotonic logical trim.

Enums§

AppendOutcome
Tail-CAS append outcome.
CommitCondition
Exact optimistic condition.
CommitConflict
Failed exact condition.
CommitMutation
Mutation in one coordinated commit.
CommitOutcome
Coordinated commit outcome.
CommittedMutation
Mutation in a successful immutable envelope.
IdempotencyOutcome
Terminal result retained under one account-scoped retry identity.
StreamError
Stable public failures. CAS and absence conflicts are values instead.

Constants§

FILE_DESCRIPTOR_SET
Canonical public descriptor set used by compatibility gates.
MAX_COMMAND_BYTES
Maximum canonical application command, including metadata.
MAX_IDEMPOTENCY_KEY_BYTES
Maximum caller retry-identity width.
MAX_ITEMS
Maximum records, participants, mutations, or path segments in one request.
MAX_PATH_BYTES
Maximum canonical path text accepted by the single-command wire format.
MAX_RECORD_BYTES
Maximum opaque record body.
MIN_IDEMPOTENCY_RETENTION_SECS
Minimum durable replay window required from a provider.

Traits§

StreamProvider
Canonical provider contract. Placement and transport remain invisible.
UnixMillisClock
Trusted clock used by providers to evaluate publication deadlines at the same linearization point as a coordinated commit.

Type Aliases§

ChildStream
Backpressured fixed-snapshot direct-child listing.
RecordStream
Backpressured finite read or long-lived follow.