pub struct StoredObject {
pub path: ObjectPath,
pub size: u64,
pub stored_at: StorageTime,
pub time_resolution: Duration,
pub object_id: String,
pub revision: String,
pub replace_token: String,
pub checksum: Option<ObjectChecksum>,
}Expand description
Metadata of an object returned by a provider read, exact status or listing.
Fields§
§path: ObjectPathValidated path relative to the store’s location.
size: u64Complete encrypted length, including for ranged reads.
stored_at: StorageTimeProvider publication time for immutable objects, replacement time otherwise. OneDrive uses the copy’s lastModifiedDateTime. AWS multipart Last-Modified still reports initiation; its live check exposes that unmet guarantee.
time_resolution: DurationTimestamp resolution. S3 uses its whole-second HEAD/GET representation for listings too; other providers retain their returned fractional digits.
object_id: StringNative object id, or the complete key on S3.
revision: StringOpaque replacement identity, never a proof of byte equality. S3 immutable listings use the ETag; replaceable paths use exact status to obtain the generation or Coven’s atomically stored replacement token.
replace_token: StringOpaque native condition from the same observation: ETag on S3/OneDrive, generation on GCS, revision on Dropbox, record change tag on CloudKit. This is separate from revision identity: an S3 version is not an ETag.
checksum: Option<ObjectChecksum>Provider checksum, when returned. ETags are never inferred to be checksums.
Trait Implementations§
Source§impl Clone for StoredObject
impl Clone for StoredObject
Source§fn clone(&self) -> StoredObject
fn clone(&self) -> StoredObject
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StoredObject
impl Debug for StoredObject
Source§impl<'de> Deserialize<'de> for StoredObject
impl<'de> Deserialize<'de> for StoredObject
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<StoredObject, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<StoredObject, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for StoredObject
impl PartialEq for StoredObject
Source§impl Serialize for StoredObject
impl Serialize for StoredObject
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for StoredObject
impl StructuralPartialEq for StoredObject
Auto Trait Implementations§
impl Freeze for StoredObject
impl RefUnwindSafe for StoredObject
impl Send for StoredObject
impl Sync for StoredObject
impl Unpin for StoredObject
impl UnsafeUnpin for StoredObject
impl UnwindSafe for StoredObject
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more