pub struct CodecVersionUpgrade { /* private fields */ }Expand description
One directed codec-version upgrade a component declares.
Mirrors crate::StateSchemaUpgrade exactly, on the codec-version axis
rather than the application-schema axis: edges strictly increase the
version and at most one edge may leave any version.
Implementations§
Source§impl CodecVersionUpgrade
impl CodecVersionUpgrade
Sourcepub fn new(
from: CodecVersion,
to: CodecVersion,
apply: fn(&[u8]) -> Result<Vec<u8>, StateCodecError>,
) -> Result<CodecVersionUpgrade, ComponentStateError>
pub fn new( from: CodecVersion, to: CodecVersion, apply: fn(&[u8]) -> Result<Vec<u8>, StateCodecError>, ) -> Result<CodecVersionUpgrade, ComponentStateError>
Declares a directed upgrade between two codec versions.
§Errors
Returns ComponentStateError::NonIncreasingCodecUpgrade when to
does not exceed from.
Sourcepub const fn from(&self) -> CodecVersion
pub const fn from(&self) -> CodecVersion
Returns the version this upgrade reads.
Sourcepub const fn to(&self) -> CodecVersion
pub const fn to(&self) -> CodecVersion
Returns the version this upgrade produces.
Trait Implementations§
Source§impl Clone for CodecVersionUpgrade
impl Clone for CodecVersionUpgrade
Source§fn clone(&self) -> CodecVersionUpgrade
fn clone(&self) -> CodecVersionUpgrade
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 CodecVersionUpgrade
Auto Trait Implementations§
impl Freeze for CodecVersionUpgrade
impl RefUnwindSafe for CodecVersionUpgrade
impl Send for CodecVersionUpgrade
impl Sync for CodecVersionUpgrade
impl Unpin for CodecVersionUpgrade
impl UnsafeUnpin for CodecVersionUpgrade
impl UnwindSafe for CodecVersionUpgrade
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
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> 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