Impl Error for ReadError

This commit is contained in:
Alvaro Parker 2024-09-20 11:22:34 -03:00
commit 347e8d6f17

View file

@ -180,6 +180,27 @@ pub enum ReadError {
StreamFooterReceived,
}
impl fmt::Display for ReadError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
ReadError::SoftTimeout => write!(f, "soft timeout"),
ReadError::HardError(e) => write!(f, "hard error: {}", e),
ReadError::ParseError(e) => write!(f, "parse error: {}", e),
ReadError::StreamFooterReceived => write!(f, "stream footer received"),
}
}
}
impl core::error::Error for ReadError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
match self {
ReadError::HardError(e) => Some(e),
ReadError::ParseError(e) => Some(e),
_ => None,
}
}
}
enum WriteState {
Open,
SendElementFoot,