Trait ockam_key_exchange_core::KeyExchanger
source · [−]pub trait KeyExchanger {
fn name<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn generate_request<'life0, 'life1, 'async_trait>(
&'life0 mut self,
payload: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn handle_response<'life0, 'life1, 'async_trait>(
&'life0 mut self,
response: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn is_complete<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn finalize<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<CompletedKeyExchange>> + Send + 'async_trait>>
where
Self: 'async_trait;
}
Expand description
A trait implemented by both Initiator and Responder peers.
Required methods
Return key exchange unique name.
Generate request that should be sent to the other party.
Handle response from other party and return payload.
Returns true if the key exchange process is complete.