Write-ahead log over object storage, coordinated by compare-and-swap
Dependencies
pub struct Wal[S] {
store : S
prefix : String
image : WalImage
etag : String
loaded : Bool
max_attempts : Int
max_image_bytes : Int
}async fn[S : ObjectStore] Wal::append(self : Wal[S], entries : Array[WalEntry]) -> CommitOutcome raise GitErrorasync fn[S : ObjectStore] Wal::compact(self : Wal[S], through_seq : Int64, fold : async (Bytes, Array[WalEntry]) -> Fold raise GitError) -> CommitOutcome raise GitErrorasync fn[S : ObjectStore] Wal::get_payload(self : Wal[S], content_id : String) -> Bytes raise GitErrorasync fn[S : ObjectStore] Wal::set_settings(self : Wal[S], settings : String) -> CommitOutcome raise GitErrorlet DEFAULT_MAX_ATTEMPTS : Intlet DEFAULT_MAX_IMAGE_BYTES : Intlet WAL_FORMAT_VERSION : Intfn content_id(body : Bytes) -> StringInstall
Download zipWrite-ahead log over object storage, coordinated by compare-and-swap
Dependencies