Struct rings_core::message::handlers::MessageHandler
source · pub struct MessageHandler { /* private fields */ }Expand description
MessageHandler will manage resources.
Implementations§
source§impl MessageHandler
impl MessageHandler
sourcepub fn new(
transport: Arc<SwarmTransport>,
swarm_callback: SharedSwarmCallback
) -> Self
pub fn new( transport: Arc<SwarmTransport>, swarm_callback: SharedSwarmCallback ) -> Self
Create a new MessageHandler instance.
Trait Implementations§
source§impl Clone for MessageHandler
impl Clone for MessageHandler
source§fn clone(&self) -> MessageHandler
fn clone(&self) -> MessageHandler
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl HandleMsg<ConnectNodeReport> for MessageHandler
impl HandleMsg<ConnectNodeReport> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 ConnectNodeReport
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 ConnectNodeReport
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<ConnectNodeSend> for MessageHandler
impl HandleMsg<ConnectNodeSend> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 ConnectNodeSend
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 ConnectNodeSend
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<CustomMessage> for MessageHandler
impl HandleMsg<CustomMessage> for MessageHandler
source§impl HandleMsg<FindSuccessorReport> for MessageHandler
impl HandleMsg<FindSuccessorReport> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 FindSuccessorReport
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 FindSuccessorReport
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<FindSuccessorSend> for MessageHandler
impl HandleMsg<FindSuccessorSend> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 FindSuccessorSend
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 FindSuccessorSend
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<FoundVNode> for MessageHandler
impl HandleMsg<FoundVNode> for MessageHandler
source§impl HandleMsg<NotifyPredecessorReport> for MessageHandler
impl HandleMsg<NotifyPredecessorReport> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 MessagePayload,
msg: &'life2 NotifyPredecessorReport
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 MessagePayload,
msg: &'life2 NotifyPredecessorReport
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<NotifyPredecessorSend> for MessageHandler
impl HandleMsg<NotifyPredecessorSend> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 NotifyPredecessorSend
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 NotifyPredecessorSend
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<QueryForTopoInfoReport> for MessageHandler
impl HandleMsg<QueryForTopoInfoReport> for MessageHandler
Try join received node into DHT after received from TopoInfo.
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 MessagePayload,
msg: &'life2 QueryForTopoInfoReport
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 MessagePayload,
msg: &'life2 QueryForTopoInfoReport
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<QueryForTopoInfoSend> for MessageHandler
impl HandleMsg<QueryForTopoInfoSend> for MessageHandler
QueryForTopoInfoSend is direct message
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 QueryForTopoInfoSend
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 QueryForTopoInfoSend
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<SearchVNode> for MessageHandler
impl HandleMsg<SearchVNode> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 SearchVNode
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 SearchVNode
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Search VNode via successor If a VNode is storead local, it will response immediately.(See Chordstorageinterface::storage_fetch)
source§impl HandleMsg<SyncVNodeWithSuccessor> for MessageHandler
impl HandleMsg<SyncVNodeWithSuccessor> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 MessagePayload,
msg: &'life2 SyncVNodeWithSuccessor
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_ctx: &'life1 MessagePayload,
msg: &'life2 SyncVNodeWithSuccessor
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
source§impl HandleMsg<VNodeOperation> for MessageHandler
impl HandleMsg<VNodeOperation> for MessageHandler
source§fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 VNodeOperation
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn handle<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ctx: &'life1 MessagePayload,
msg: &'life2 VNodeOperation
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Message handler.
Auto Trait Implementations§
impl Freeze for MessageHandler
impl !RefUnwindSafe for MessageHandler
impl Send for MessageHandler
impl Sync for MessageHandler
impl Unpin for MessageHandler
impl !UnwindSafe for MessageHandler
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> 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