#[non_exhaustive]pub enum ChecksumMismatch {
Crc32c {
got: u32,
want: u32,
},
Md5 {
got: Bytes,
want: Bytes,
},
Both {
got: Box<ObjectChecksums>,
want: Box<ObjectChecksums>,
},
}Expand description
Indicates that a checksum mismatch was detected while reading or writing Cloud Storage object.
When performing a full read of an object, the client library automatically computes the CRC32C checksum (and optionally the MD5 hash) of the received data. At the end of the read The client library automatically computes this checksum to the values reported by the service. If the values do not match, the read operation completes with an error and the error includes this type showing which checksums did not match.
Likewise, when performing an object write, the client library automatically compares the CRC32C checksum (and optionally the MD5 hash) of the data sent to the service against the values reported by the service when the object is finalized. If the values do not match, the write operation completes with an error and the error includes this type.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Crc32c
The CRC32C checksum sent by the service does not match the computed (or expected) value.
Md5
The MD5 hash sent by the service does not match the computed (or expected) value.
Both
The CRC32C checksum and the MD5 hash sent by the service do not match the computed (or expected) values.
Trait Implementations§
Source§impl Clone for ChecksumMismatch
impl Clone for ChecksumMismatch
Source§fn clone(&self) -> ChecksumMismatch
fn clone(&self) -> ChecksumMismatch
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ChecksumMismatch
impl Debug for ChecksumMismatch
Auto Trait Implementations§
impl !Freeze for ChecksumMismatch
impl RefUnwindSafe for ChecksumMismatch
impl Send for ChecksumMismatch
impl Sync for ChecksumMismatch
impl Unpin for ChecksumMismatch
impl UnwindSafe for ChecksumMismatch
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.