use core::fmt;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum TlsParseError {
Incomplete {
required: usize,
available: usize,
},
InvalidValue,
TrailingBytes,
}
impl fmt::Display for TlsParseError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::Incomplete {
required,
available,
} => write!(
f,
"TLS input is incomplete: need {required} bytes, have {available}"
),
Self::InvalidValue => f.write_str("invalid TLS vector or value"),
Self::TrailingBytes => f.write_str("TLS payload has trailing bytes"),
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum TlsBuildError {
InvalidValue,
LengthTooLarge,
BufferTooShort {
required: usize,
available: usize,
},
}
impl fmt::Display for TlsBuildError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::InvalidValue => f.write_str("invalid TLS builder value"),
Self::LengthTooLarge => f.write_str("TLS length is not representable"),
Self::BufferTooShort {
required,
available,
} => write!(
f,
"TLS buffer is too short: need {required} bytes, have {available}"
),
}
}
}