#[repr(u16)]pub enum BlobLayout {
V0 = 0,
V1 = 1,
}Expand description
Runtime-owned layout of a Blob.
This determines the container format, including its header and data offset, not the
application-owned contents version passed to Storage::open_versioned.
Restricting the layouts a runtime accepts can be used to orchestrate rollback-safe upgrades.
Variants§
V0 = 0
👎Deprecated:
unaligned pages can degrade performance
An 8-byte header, with data beginning immediately after it.
A V0 header has no checksum, so an interrupted creation is not reliably recognized: an image whose magic and layout version are durable parses as a complete header and reopens as blob version 0 or fails as a version mismatch until the blob is removed.
V1 = 1
A header padded to one 4096-byte page, so data begins on an aligned boundary.
Implementations§
Source§impl BlobLayout
impl BlobLayout
Sourcepub const ALL: RangeInclusive<Self>
pub const ALL: RangeInclusive<Self>
All blob layouts supported by this runtime.
Trait Implementations§
Source§impl Clone for BlobLayout
impl Clone for BlobLayout
Source§fn clone(&self) -> BlobLayout
fn clone(&self) -> BlobLayout
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for BlobLayout
Source§impl Debug for BlobLayout
impl Debug for BlobLayout
impl Eq for BlobLayout
Source§impl Ord for BlobLayout
impl Ord for BlobLayout
Source§fn cmp(&self, other: &BlobLayout) -> Ordering
fn cmp(&self, other: &BlobLayout) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialEq for BlobLayout
impl PartialEq for BlobLayout
Source§impl PartialOrd for BlobLayout
impl PartialOrd for BlobLayout
impl StructuralPartialEq for BlobLayout
Auto Trait Implementations§
impl Freeze for BlobLayout
impl RefUnwindSafe for BlobLayout
impl Send for BlobLayout
impl Sync for BlobLayout
impl Unpin for BlobLayout
impl UnsafeUnpin for BlobLayout
impl UnwindSafe for BlobLayout
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> 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> ⓘ
Converts
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> ⓘ
Converts
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