Skip to main content

Crate acyclic_objects

Crate acyclic_objects 

Source
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-objects

The 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.
BufferedObject
One immutable descriptor and its selected body bytes.
Client
A configured Objects account client.
DeleteOptions
Options for object deletion.
DeleteResult
Result of an unqualified marker creation or exact-version deletion.
GetOptions
Options for an object read or head.
GetRequest
One transport-independent object read.
ListOptions
Options for one stable listing page.
ListPage
One typed stable listing page.
MemoryObjects
Bounded deterministic process-local reference provider.
MultipartUpload
Typed multipart upload handle.
MutationOptions
Options common to retryable mutations.
ProviderListPage
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.
StoredObject
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.
ObjectsError
Provider-visible semantic failure. Transport errors remain adapter-specific.
ReadTarget
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§

ObjectsProvider
Public semantic provider implemented by memory, customer-hosted, and Acyclic adapters.

Type Aliases§

Result
Result type used by this SDK.