pub enum PeerRingRemoteAction {
FindSuccessor(Did),
FindEntry(EntryLookupKey),
FindEntryForOperate(PlacedEntryOperation),
Notify(Did),
SyncEntriesWithSuccessor {
purpose: StorageSyncPurpose,
route: StorageSyncRoute,
data: Vec<PlacedEntry>,
},
FindSuccessorForConnect(Did),
FindSuccessorForFix {
did: Did,
index: usize,
},
QueryForSuccessorList,
QueryForSuccessorListAndPred,
TryConnect,
}Expand description
Describes the remote continuation required by a peer-ring operation.
The DID in PeerRingAction::RemoteAction is the recipient; DIDs stored in
this enum are the operation’s payload.
Variants§
FindSuccessor(Did)
Ask the recipient to find this DID’s successor.
FindEntry(EntryLookupKey)
Ask the recipient to find one entry placement.
FindEntryForOperate(PlacedEntryOperation)
Ask the recipient to find one placement for operating.
Notify(Did)
Send a predecessor notification to the recipient.
SyncEntriesWithSuccessor
Copy placed entries to one storage sync destination.
Fields
purpose: StorageSyncPurposeSync transition kind.
route: StorageSyncRouteRouting semantics for the outer action target.
data: Vec<PlacedEntry>Entries to copy at their placement keys.
FindSuccessorForConnect(Did)
Find a successor and report it for connection establishment.
FindSuccessorForFix
Find a successor and report it for one finger-table slot.
Fields
QueryForSuccessorList
Fetch the recipient’s successor list.
QueryForSuccessorListAndPred
Fetch the recipient’s successor list and predecessor.
TryConnect
Try to connect to the recipient.
Trait Implementations§
Source§impl Clone for RemoteAction
impl Clone for RemoteAction
Source§fn clone(&self) -> RemoteAction
fn clone(&self) -> RemoteAction
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RemoteAction
impl Debug for RemoteAction
impl Eq for RemoteAction
Source§impl PartialEq for RemoteAction
impl PartialEq for RemoteAction
impl StructuralPartialEq for RemoteAction
Auto Trait Implementations§
impl Freeze for RemoteAction
impl RefUnwindSafe for RemoteAction
impl Send for RemoteAction
impl Sync for RemoteAction
impl Unpin for RemoteAction
impl UnsafeUnpin for RemoteAction
impl UnwindSafe for RemoteAction
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
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
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.