pub struct DefinitionUpgrade { /* private fields */ }Expand description
One explicit, directed definition compatibility edge.
Implementations§
Source§impl DefinitionUpgrade
impl DefinitionUpgrade
Sourcepub fn new(
key: DefinitionUpgradeKey,
from: DefinitionIdentity,
to: DefinitionIdentity,
steps: impl IntoIterator<Item = StepDefinitionUpgrade>,
) -> Result<DefinitionUpgrade, DefinitionError>
pub fn new( key: DefinitionUpgradeKey, from: DefinitionIdentity, to: DefinitionIdentity, steps: impl IntoIterator<Item = StepDefinitionUpgrade>, ) -> Result<DefinitionUpgrade, DefinitionError>
Validates a direct, non-transitive compatibility edge.
The M2 edge preserves checkpoint and context bytes unchanged, so applications may use it only when the mapped steps retain the same state schemas and semantics.
§Errors
Rejects self-edges, empty mappings, and mappings that reuse a target.
Sourcepub const fn key(&self) -> &DefinitionUpgradeKey
pub const fn key(&self) -> &DefinitionUpgradeKey
Borrows the application-owned upgrade key.
Sourcepub const fn from(&self) -> &DefinitionIdentity
pub const fn from(&self) -> &DefinitionIdentity
Borrows the checkpoint-producing definition.
Sourcepub const fn to(&self) -> &DefinitionIdentity
pub const fn to(&self) -> &DefinitionIdentity
Borrows the proposed definition.
Sourcepub fn step_mapping(&self) -> &BTreeMap<StepName, StepName>
pub fn step_mapping(&self) -> &BTreeMap<StepName, StepName>
Borrows the durable source-to-target step mapping.
Durable adapters replay the mapping when they resolve a compatible restart, so the order is the validated declaration order.
Trait Implementations§
Source§impl Clone for DefinitionUpgrade
impl Clone for DefinitionUpgrade
Source§fn clone(&self) -> DefinitionUpgrade
fn clone(&self) -> DefinitionUpgrade
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 moreSource§impl Debug for DefinitionUpgrade
impl Debug for DefinitionUpgrade
impl Eq for DefinitionUpgrade
Source§impl PartialEq for DefinitionUpgrade
impl PartialEq for DefinitionUpgrade
impl StructuralPartialEq for DefinitionUpgrade
Auto Trait Implementations§
impl Freeze for DefinitionUpgrade
impl RefUnwindSafe for DefinitionUpgrade
impl Send for DefinitionUpgrade
impl Sync for DefinitionUpgrade
impl Unpin for DefinitionUpgrade
impl UnsafeUnpin for DefinitionUpgrade
impl UnwindSafe for DefinitionUpgrade
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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