pub struct GenerationStamps {
pub generation: u64,
pub epoch: u64,
pub flush_uuid: String,
pub boundary_source: Option<String>,
pub posix: Option<PosixStamps>,
}Expand description
The A6 publish stamps (x-amz-meta-flint-* on S3; each backend maps
the bare keys to its metadata namespace). HEAD-based 412 arbitration
keys off these — they are how a torn OWN flush is told apart from a
genuinely foreign object.
Fields§
§generation: u64(gen is reserved in edition 2024 — spelled out.)
epoch: u64§flush_uuid: String§boundary_source: Option<String>The coherence provenance of a lean manifest citation
(boundary-verbs plan §2.4.1): sentinel, quiescence,
forced-lag-cap, forced-backlog-cap, cadence, drain,
recovered. Stamped on the OBJECT so a downstream consumer —
checkout, a sibling cluster’s sync, HITL — can tell a
declared-coherent citation from a forced possibly-torn one from
the bucket alone, for the price of a HEAD rather than a GET of a
manifest that can run to hundreds of MiB. None on every
non-manifest object.
posix: Option<PosixStamps>A12: POSIX metadata riding on the object, so a bucket reader — and the DR import — can restore mode/ownership/mtime without the manifest. OPTIONAL both ways: absence never makes an object foreign (steps 4–11 published without it).
Implementations§
Source§impl GenerationStamps
impl GenerationStamps
pub const META_GEN: &'static str = "flint-gen"
pub const META_EPOCH: &'static str = "flint-epoch"
pub const META_FLUSH_UUID: &'static str = "flint-flush-uuid"
pub const META_BOUNDARY_SOURCE: &'static str = "flint-boundary-source"
pub fn to_meta(&self) -> Vec<(String, String)>
Trait Implementations§
Source§impl Clone for GenerationStamps
impl Clone for GenerationStamps
Source§fn clone(&self) -> GenerationStamps
fn clone(&self) -> GenerationStamps
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more