use rustls::{
    crypto::cipher::{AeadKey, Iv},
    ConnectionTrafficSecrets,
};

pub trait AeadDataInput {
    const ENCRYPTED_OVERHEAD: usize;
}

pub trait IntoNonce<A: aead::AeadCore> {
    fn into_nonce(self, seq: u64) -> aead::Nonce<A>;
}

pub trait TlsExtractKeys {
    fn tls13_wrap_keys(key: AeadKey, iv: Iv) -> ConnectionTrafficSecrets;
    fn tls12_wrap_keys(key: AeadKey, iv: &[u8], explicit: &[u8]) -> ConnectionTrafficSecrets;
}
