Enum rings_core::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<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::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<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_payload<'life0, 'async_trait>(
&'life0 self,
payload: MessagePayload<T>
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn send_message<'life0, 'async_trait>(
&'life0 self,
msg: T,
next_hop: Did,
destination: Did
) -> Pin<Box<dyn Future<Output = Result<Uuid>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn send_direct_message<'life0, 'async_trait>(
&'life0 self,
msg: T,
destination: Did
) -> Pin<Box<dyn Future<Output = Result<Uuid>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn send_report_message<'life0, 'async_trait>(
&'life0 self,
msg: T,
tx_id: Uuid,
relay: MessageRelay
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn forward_payload<'life0, 'life1, 'async_trait>(
&'life0 self,
payload: &'life1 MessagePayload<T>,
relay: MessageRelay
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
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.