pub struct PlannedMove {
pub collection: CollectionId,
pub range_id: RangeId,
pub from: NodeIdentity,
pub to: NodeIdentity,
pub bytes: u64,
pub reason: MoveReason,
}Expand description
One proposed rebalancing transition: move authority for a range from its current owner to a target member.
A PlannedMove is intent, not an executed transition. Carrying it out
means copying the range to to, letting it catch up to the range commit
watermark, and then cutting over through the fenced
Handoff machine — a
separate, explicit step. The planner only ever produces these; it moves no
data.
Fields§
§collection: CollectionId§range_id: RangeId§from: NodeIdentityThe range’s current owner in the catalog — the move’s source.
to: NodeIdentityThe proposed new owner — an active data member with capacity headroom.
bytes: u64The range’s size in bytes at planning time (what the move relocates).
reason: MoveReasonTrait Implementations§
Source§impl Clone for PlannedMove
impl Clone for PlannedMove
Source§fn clone(&self) -> PlannedMove
fn clone(&self) -> PlannedMove
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 PlannedMove
impl Debug for PlannedMove
impl Eq for PlannedMove
Source§impl PartialEq for PlannedMove
impl PartialEq for PlannedMove
Source§fn eq(&self, other: &PlannedMove) -> bool
fn eq(&self, other: &PlannedMove) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PlannedMove
Auto Trait Implementations§
impl Freeze for PlannedMove
impl RefUnwindSafe for PlannedMove
impl Send for PlannedMove
impl Sync for PlannedMove
impl Unpin for PlannedMove
impl UnsafeUnpin for PlannedMove
impl UnwindSafe for PlannedMove
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<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 moreSource§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>
Wrap the input message
T in a tonic::Request