Trait single_use_seals::CloseSealAsync
source · pub trait CloseSealAsync<Seal>: SealProtocolAsync<Seal>{
// Required methods
fn close_seal_async<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
seal: &'life1 Seal,
over: &'life2 Self::Message
) -> Pin<Box<dyn Future<Output = Result<Self::Witness, Self::Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn seal_close_all_async<'seal, 'life0, 'life1, 'async_trait>(
&'life0 mut self,
seals: impl 'async_trait + IntoIterator<Item = &'seal Seal>,
over: &'life1 Self::Message
) -> Pin<Box<dyn Future<Output = Result<Self::Witness, Self::Error>> + Send + 'async_trait>>
where Seal: 'seal,
Self: 'async_trait,
'seal: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
}
Expand description
Adds support for the seal close operation to SealProtocolAsync
.
Required Methods§
sourcefn close_seal_async<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
seal: &'life1 Seal,
over: &'life2 Self::Message
) -> Pin<Box<dyn Future<Output = Result<Self::Witness, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn close_seal_async<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
seal: &'life1 Seal,
over: &'life2 Self::Message
) -> Pin<Box<dyn Future<Output = Result<Self::Witness, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Closes seal over a message, producing witness.
NB: Closing of the seal MUST not change the internal state of the seal itself; all the data produced by the process must be placed into the returned Witness type.
The witness is not published by this method to the seal medium.
sourcefn seal_close_all_async<'seal, 'life0, 'life1, 'async_trait>(
&'life0 mut self,
seals: impl 'async_trait + IntoIterator<Item = &'seal Seal>,
over: &'life1 Self::Message
) -> Pin<Box<dyn Future<Output = Result<Self::Witness, Self::Error>> + Send + 'async_trait>>where
Seal: 'seal,
Self: 'async_trait,
'seal: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn seal_close_all_async<'seal, 'life0, 'life1, 'async_trait>(
&'life0 mut self,
seals: impl 'async_trait + IntoIterator<Item = &'seal Seal>,
over: &'life1 Self::Message
) -> Pin<Box<dyn Future<Output = Result<Self::Witness, Self::Error>> + Send + 'async_trait>>where
Seal: 'seal,
Self: 'async_trait,
'seal: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Closes number of related seals over the same message, producing a single witness.
NB: Closing of the seal MUST not change the internal state of the seal itself; all the data produced by the process must be placed into the returned Witness type.
The witness is not published by this method to the seal medium.
Object Safety§
This trait is not object safe.