pub struct LeanEntry {
pub key: String,
pub etag: String,
pub crc64_b64: String,
pub size: u64,
pub mode: u32,
pub mtime_unix: i64,
pub generation: u64,
pub epoch: u64,
pub version_id: Option<String>,
}Fields§
§key: StringObject key (under <prefix>/files/).
etag: String§crc64_b64: StringFull-object CRC-64/NVME of the cited bytes, in wire (base64) form — computed by the flint client that MOVED the bytes (the publisher over what it uploaded, a consume or checkout over what it wrote), never copied from a backend header. It is the one integrity check that holds on every backend: S3 attests a checksum on the wire, Ozone attests none, and the manifest’s value describes the bytes either way. Every reader verifies a fresh fetch against it before the file becomes visible.
size: u64§mode: u32§mtime_unix: i64§generation: u64§epoch: u64The publishing writer’s lease epoch (0 = a gateway/HITL write).
version_id: Option<String>The object VERSION this citation names (boundary-verbs plan D7).
None = a legacy or unversioned entry ⇒ readers take today’s
get_whole(key, If-Match etag) path verbatim. Mixed manifests
are NORMAL during rollout and after any bucket-versioning
change, so both forms are permanent reader cases, not a
migration state. The version id ADDRESSES; the etag ATTESTS —
the etag stays and is still verified.