pub struct ObjectMeta {
pub etag: String,
pub size: u64,
pub crc64_b64: Option<String>,
pub meta: HashMap<String, String>,
pub last_modified_unix: Option<u64>,
pub storage_class: Option<String>,
pub version_id: Option<String>,
}Expand description
What HEAD/GET/publish return about an object.
Fields§
§etag: String§size: u64§crc64_b64: Option<String>Full-object CRC-64/NVME in wire (base64) form, when the store has one (objects written by this tier always do).
meta: HashMap<String, String>User metadata with backend prefixes stripped (bare keys, e.g.
flint-gen).
last_modified_unix: Option<u64>§storage_class: Option<String>Backend storage class (S3: None ≡ STANDARD). The A11 IA copy-source guard reads this: a non-Standard base pays retrieval on every CLEAN byte copied, silently inverting the tier’s saving — the flusher refuses BaseCopy from it.
version_id: Option<String>The object VERSION this metadata describes, on a versioned
bucket (boundary-verbs plan D7). S3 already returns
x-amz-version-id on PUT and this crate used to discard it;
gated citation needs it and therefore costs no extra request.
None means the backend returned no version id — an
unversioned bucket, or a proxy that STRIPS the header. The
second case is why gated mode probes for it and REFUSES rather
than degrading: falling back to etag semantics on a key whose
current version is uncited is precisely the torn view the mode
exists to prevent.
Implementations§
Source§impl ObjectMeta
impl ObjectMeta
Sourcepub fn copy_source_allowed(&self) -> bool
pub fn copy_source_allowed(&self) -> bool
May this object serve as a server-side copy source without per-byte retrieval charges? (A11’s IA copy-source guard.)
Trait Implementations§
Source§impl Clone for ObjectMeta
impl Clone for ObjectMeta
Source§fn clone(&self) -> ObjectMeta
fn clone(&self) -> ObjectMeta
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more