← All compilation units

Flyology.DB.Object_Storage

Description

Binds Flyology.DB storage contexts to provider-neutral backends or authenticated clients.

Bind

procedure Bind
  (Item    : in out Storage_Context;
   Backend : not null access Flyology.Object_Storage.Backends.Backend'Class;
   Bucket  : String;
   Prefix  : String)

Bind an unused context to a caller-owned backend and database prefix. Backend must outlive every database opened with Item. Rebinding is rejected.

Parameters
Item

Context to bind exactly once

Backend

Caller-owned provider-neutral backend

Bucket

Existing bucket; Flyology.DB never creates it

Prefix

Validated database-root prefix within Bucket

Raised exceptions
Program_Error

Item is bound or Bucket or Prefix is invalid

Bind_Client

procedure Bind_Client
  (Item                  : in out Storage_Context;
   Client                : not null access Flyology.HTTP.Client.Client;
   Origin                : Flyology.HTTP.Origin;
   Identity              : not null access Flyology.Object_Storage.Client.Low_Level.Credentials;
   Bucket                : String;
   Prefix                : String;
   Region                : String;
   Style                 : Flyology.Object_Storage.Client.Low_Level.Addressing_Style;
   Content_Type          : String;
   Expected_Bucket_Owner : String;
   Request_Payer         : String;
   Checksum_Mode         : Boolean)

Bind an unused context to caller-owned HTTP/SigV4 state. Client and Identity must outlive every database opened with Item. Origin, Region, Style, Content_Type, Expected_Bucket_Owner, Request_Payer, and Checksum_Mode are copied exactly; the DB adds no endpoint, wire, credential, or retry policy. Conditional writes and whole/range reads use the buffer-owned Object Storage calls, which wait on the same caller-composable provider-owned state machines and preserve their publication certainty. Scoped lifetime is expressed by operation ownership, not by a parallel package. Rebinding is rejected.

Parameters
Item

Context to bind exactly once

Client

Configured caller-owned HTTP client

Origin

Origin value matching Client configuration

Identity

Caller-owned signing credentials

Bucket

Existing bucket; Flyology.DB never creates it

Prefix

Validated database-root prefix within Bucket

Region

Exact SigV4 signing region

Style

Exact S3 addressing style

Content_Type

Exact immutable-object content type, empty to omit

Expected_Bucket_Owner

Optional owner precondition, empty to omit

Request_Payer

Exact requester-pays setting, empty to omit

Checksum_Mode

Whether reads request provider checksum headers

Raised exceptions
Program_Error

Item is bound or Bucket or Prefix is invalid