Expand description
§acyclic-objects
The versioned Objects contract, typed provider interface, and first-party gRPC, memory, and optional local providers. Object versions and whole-bucket snapshots are immutable identities; a bucket name is not a substitute for its BucketRef.
cargo add acyclic-objectsThe default grpc feature exposes the authenticated remote client. Enable local for the durable embedded provider. The memory provider is for deterministic local tests, not persistence. For a private-CA HTTPS endpoint, use Client::connect_with_ca_certificate and pass the caller-supplied PEM certificate; do not disable TLS verification.
use acyclic_objects::Client;
let ca_pem = std::fs::read("trusted-ca.pem")?;
let client = Client::connect_with_ca_certificate(
"https://objects.example", "account-token", ca_pem,
).await?;Use conditional writes and idempotency keys for retryable mutations. Listings are paginated and bound to a captured view; multipart uploads require an explicit completion manifest. The crate API exposes the transport-independent provider surface, and the v1 protocol defines compatibility semantics.
The local provider fails closed after an uncertain journal write: reads, mutations, and garbage collection return unavailable until the owner closes and reopens the store. Reopen repairs only an incomplete final frame; corruption or a host read error fails recovery. Retrying a mutation after an unavailable result should use its original idempotency key because the last outcome may be uncertain.
Modules§
- conformance
- Black-box conformance for every Objects provider implementation.
- limits
- Fixed public compatibility limits.
- wire
- Generated public gRPC schema and client/server bindings.
Structs§
- Bucket
- A handle bound to one exact bucket identity.
- Buffered
Object - One immutable descriptor and its selected body bytes.
- Client
- A configured Objects account client.
- Delete
Options - Options for object deletion.
- Delete
Result - Result of an unqualified marker creation or exact-version deletion.
- GetOptions
- Options for an object read or head.
- GetRequest
- One transport-independent object read.
- List
Options - Options for one stable listing page.
- List
Page - One typed stable listing page.
- Memory
Objects - Bounded deterministic process-local reference provider.
- Multipart
Upload - Typed multipart upload handle.
- Mutation
Options - Options common to retryable mutations.
- Provider
List Page - One stable page over a captured listing view.
- PutOptions
- Options for a single object put.
- PutRequest
- One transport-independent put request.
- Snapshot
- Immutable snapshot read handle.
- Stored
Object - Streaming object response after its immutable descriptor has been validated.
Enums§
- Condition
- Exactly one current-version mutation condition shared by every provider transport.
- Error
- Errors returned while constructing or using a client.
- Objects
Error - Provider-visible semantic failure. Transport errors remain adapter-specific.
- Read
Target - A bucket or immutable snapshot selected for a read.
Constants§
- FILE_
DESCRIPTOR_ SET - Canonical public descriptor set used by compatibility and conformance gates.
- MAX_
CA_ CERTIFICATE_ BYTES - Maximum caller-supplied private CA bundle accepted by the client.
Traits§
- Objects
Provider - Public semantic provider implemented by memory, customer-hosted, and Acyclic adapters.
Type Aliases§
- Result
- Result type used by this SDK.