Enum rings_node::prelude::message::Message
source · #[non_exhaustive]
pub enum Message {
Show 15 variants
MultiCall(MultiCall),
JoinDHT(JoinDHT),
LeaveDHT(LeaveDHT),
ConnectNodeSend(ConnectNodeSend),
AlreadyConnected(AlreadyConnected),
ConnectNodeReport(ConnectNodeReport),
FindSuccessorSend(FindSuccessorSend),
FindSuccessorReport(FindSuccessorReport),
NotifyPredecessorSend(NotifyPredecessorSend),
NotifyPredecessorReport(NotifyPredecessorReport),
SearchVNode(SearchVNode),
FoundVNode(FoundVNode),
OperateVNode(VNodeOperation),
SyncVNodeWithSuccessor(SyncVNodeWithSuccessor),
CustomMessage(MaybeEncrypted<CustomMessage>),
}Expand description
A collection MessageType use for unified management.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
MultiCall(MultiCall)
JoinDHT(JoinDHT)
LeaveDHT(LeaveDHT)
ConnectNodeSend(ConnectNodeSend)
AlreadyConnected(AlreadyConnected)
ConnectNodeReport(ConnectNodeReport)
FindSuccessorSend(FindSuccessorSend)
FindSuccessorReport(FindSuccessorReport)
NotifyPredecessorSend(NotifyPredecessorSend)
NotifyPredecessorReport(NotifyPredecessorReport)
SearchVNode(SearchVNode)
FoundVNode(FoundVNode)
OperateVNode(VNodeOperation)
SyncVNodeWithSuccessor(SyncVNodeWithSuccessor)
CustomMessage(MaybeEncrypted<CustomMessage>)
Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<Message, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Message, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<Message> for Message
impl PartialEq<Message> for Message
source§impl PayloadSender<Message> for MessageHandler
impl PayloadSender<Message> for MessageHandler
fn session_manager(&self) -> &SessionManager
fn do_send_payload<'life0, 'async_trait>(
&'life0 self,
did: Did,
payload: MessagePayload<Message>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
MessageHandler: 'async_trait,
fn send_payload<'life0, 'async_trait>(
&'life0 self,
payload: MessagePayload<T>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn send_message<'life0, 'async_trait>(
&'life0 self,
msg: T,
next_hop: Did,
destination: Did
) -> Pin<Box<dyn Future<Output = Result<Uuid, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn send_direct_message<'life0, 'async_trait>(
&'life0 self,
msg: T,
destination: Did
) -> Pin<Box<dyn Future<Output = Result<Uuid, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn send_report_message<'life0, 'async_trait>(
&'life0 self,
msg: T,
tx_id: Uuid,
relay: MessageRelay
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn forward_payload<'life0, 'life1, 'async_trait>(
&'life0 self,
payload: &'life1 MessagePayload<T>,
relay: MessageRelay
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
source§impl Serialize for Message
impl Serialize for Message
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for Message
impl StructuralEq for Message
impl StructuralPartialEq for Message
Auto Trait Implementations§
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnwindSafe for Message
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T> AsTaggedExplicit<'a> for Twhere
T: 'a,
impl<'a, T> AsTaggedExplicit<'a> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T> AsTaggedImplicit<'a> for Twhere
T: 'a,
impl<'a, T> AsTaggedImplicit<'a> for Twhere
T: 'a,
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.