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-streamThe 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§
- Append
Receipt - Successful contiguous append.
- Append
Request - One atomic append request.
- Child
- One immutable direct child.
- Children
Request - Fixed-snapshot direct-child page request.
- Commit
Id - Opaque content-bound identity of one committed envelope.
- Commit
Request - One bounded all-or-nothing optimistic commit.
- Committed
Append - Append fact retained in a committed envelope.
- Committed
Delete - Permanent deletion fact retained in a committed envelope.
- Committed
Envelope - Complete immutable successful mutation envelope.
- Committed
Fork - Fork fact retained in a committed envelope.
- Committed
Trim - Logical trim fact retained in a committed envelope.
- Delete
Receipt - Successful permanent logical deletion.
- Fork
Receipt - Successful O(1) immutable-prefix fork.
- Fork
Request - One fork request. Absence of
at_tailselects the source tail atomically. - Idempotency
Key - Account-scoped stable retry identity.
- Idempotency
Observation - Exact retained recovery fact for one caller-owned retry identity.
- Memory
Limits - Explicit fail-closed process-memory ceilings.
- Memory
Stream - 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.
- Read
Request - Required-bounds finite read.
- Record
- One immutable record.
- Stream
- Handle to one permanent Stream path.
- Stream
Client - Minimal provider-bound client.
- Stream
Path - Permanent account-relative slash-separated ASCII path.
- System
Unix Millis Clock - Production wall clock for deadline-aware providers.
- Trim
Receipt - Successful monotonic logical trim.
Enums§
- Append
Outcome - Tail-CAS append outcome.
- Commit
Condition - Exact optimistic condition.
- Commit
Conflict - Failed exact condition.
- Commit
Mutation - Mutation in one coordinated commit.
- Commit
Outcome - Coordinated commit outcome.
- Committed
Mutation - Mutation in a successful immutable envelope.
- Idempotency
Outcome - Terminal result retained under one account-scoped retry identity.
- Stream
Error - 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§
- Stream
Provider - Canonical provider contract. Placement and transport remain invisible.
- Unix
Millis Clock - Trusted clock used by providers to evaluate publication deadlines at the same linearization point as a coordinated commit.
Type Aliases§
- Child
Stream - Backpressured fixed-snapshot direct-child listing.
- Record
Stream - Backpressured finite read or long-lived follow.