Module mz_persist::location
source · Expand description
Abstractions over files, cloud storage, etc used in persistence.
Structs§
- Metadata about a particular blob stored by persist
- An error coming from an underlying durability system (e.g. s3) indicating that the operation definitely did NOT succeed (e.g. permission denied).
- An error coming from an underlying durability system (e.g. s3) indicating that the operation might have succeeded (e.g. timeout).
- The “sequence number” of a persist state change.
- Wraps all calls to a backing store in a new tokio task. This adds extra overhead, but insulates the system from callers who fail to drive futures promptly to completion, which can cause timeouts or resource exhaustion in a store.
- An abstraction for a single arbitrarily-sized binary blob and an associated version number (sequence number).
Enums§
- Return type to indicate whether Consensus::compare_and_set succeeded or failed.
- An error coming from an underlying durability system (e.g. s3) or from invalid data received from one.
Constants§
- A key usable for liveness checks via Blob::get.
- A key usable for liveness checks via Consensus::head.
- Helper constant to scan all states in Consensus::scan. The maximum possible SeqNo is i64::MAX.
Traits§
- An abstraction over read-write access to a
bytes key
->bytes value
store. - An abstraction for VersionedData held in a location in persistent storage where the data are conditionally updated by version.
Type Aliases§
- A boxed stream, similar to what
async_trait
desugars async functions to, but hardcoded to our standard result type.