pub struct Change {
pub id: ObjectId,
pub new: Option<ObjectId>,
pub old: Option<ObjectId>,
}Expand description
Describes the LT blobs involved in a multi-step storage change.
Every mutating flow maps to: “I may have written a new LT blob and I
may be replacing an old LT blob.” Recovery uses these fields to determine
which blobs are orphaned by reading the current HV state.
Fields§
§id: ObjectIdThe logical object being mutated.
Used by cleanup to query HV and determine which blob is currently referenced.
new: Option<ObjectId>The new LT blob written by this operation.
Needs cleanup on failure (the CAS did not commit).
old: Option<ObjectId>The old LT blob being replaced.
Needs cleanup on success (the CAS committed and the old blob is unreferenced).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Change
impl RefUnwindSafe for Change
impl Send for Change
impl Sync for Change
impl Unpin for Change
impl UnwindSafe for Change
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,
§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>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].