use crate::{TlsLeftIn, TlsLeftOut, TlsRight};
#[derive(Debug, PartialEq)]
pub struct HandshakeComplete;
use crate::SecretStore;
pub trait CtxHandshakeProcessor {
type Error;
#[must_use]
fn spin_handshake<Li: TlsLeftIn, Lo: TlsLeftOut, Ks: SecretStore>(
&mut self,
_left_in: &mut Li,
_left_out: &mut Lo,
_ks: &mut Ks,
) -> Result<Option<HandshakeComplete>, Self::Error>;
}
#[derive(Debug, PartialEq)]
pub struct ShutdownComplete;
pub trait CtxApplicationProcessor {
type Error;
#[must_use]
fn spin_application<Li: TlsLeftIn, Lo: TlsLeftOut, R: TlsRight>(
&mut self,
_left_in: &mut Li,
_left_out: &mut Lo,
_right: &mut R,
) -> Result<Option<ShutdownComplete>, Self::Error>;
}