Skip to main content

ChannelInitiatorHandshake

Trait ChannelInitiatorHandshake 

Source
pub(crate) trait ChannelInitiatorHandshake<T>: ChannelBaseHandshake<T>
where T: AsyncRead + AsyncWrite + StreamOps + Send + Unpin + 'static,
{ // Provided method async fn recv_cells_from_responder( &mut self, auth_log_action: AuthLogAction, ) -> Result<(AuthChallenge, Certs, (Netinfo, Instant), Option<SlogDigest>)> { ... } }
Expand description

Handshake initiator base trait. All initiator handshake should implement this trait in order to enjoy the helper functions.

It requires the base handshake trait to be implement for access to the base getters.

Provided Methods§

Source

async fn recv_cells_from_responder( &mut self, auth_log_action: AuthLogAction, ) -> Result<(AuthChallenge, Certs, (Netinfo, Instant), Option<SlogDigest>)>

As an initiator, we are expecting the responder’s cells which are:

Any duplicate, missing cell or unexpected results in a protocol level error.

This returns the:

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, S> ChannelInitiatorHandshake<T> for ClientInitiatorHandshake<T, S>

Implement the initiator channel handshake trait.

Source§

impl<T, S> ChannelInitiatorHandshake<T> for RelayInitiatorHandshake<T, S>

Implement the initiator channel handshake trait.