Expand description
Object store access for WAL objects: a deterministic key layout and conditional creates that make a retry of the same object a no-op.
Structsยง
- Listed
Object ๐ - An object discovered by a LIST.
- Object
Store ๐Io - Reads and writes the WAL objects under one prefix.
Enumsยง
- PutResult ๐
- Outcome of a conditional create.
Constantsยง
- LISTING_
AHEAD_ ๐OBJECTS - Objects a listing may hold ahead of the reads that take them, four LIST pages of S3, so the listing stays pages ahead of the reads while what it holds is bounded.
- OBJECT_
SEQ_ ๐WIDTH - Width of the zero-padded object sequence in an object key, wide enough for
u64::MAXso that lexicographic and numeric order agree. - OBJECT_
SUFFIX ๐ - PROBE_
CONTENT ๐
Functionsยง
- normalize_
prefix ๐ - reports_
existing_ ๐object - Returns true when a conditional create failed because the object exists.
Only the precondition failure says so: a store may report
AlreadyExistsfor an unrelated path, such as a parent that is a file. - settle_
listing ๐ - Yields the objects
listingsends overrx. Once the listing finished it is settled before any further object is yielded, so its failure goes before the objects it listed that the caller has not taken yet.