pub trait PayloadSender<T>where
T: Clone + Serialize + DeserializeOwned + Send + Sync + 'static,{
fn session_manager(&self) -> &SessionManager;
fn do_send_payload<'life0, 'async_trait>(
&'life0 self,
did: Did,
payload: MessagePayload<T>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>
where
'life0: 'async_trait,
Self: '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,
{ ... }
}