1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use thiserror::Error;
#[derive(Debug, Error, PartialEq)]
pub enum Error {
#[error(
"DataChannel message is not long enough to determine type: (expected: {expected}, actual: {actual})"
)]
UnexpectedEndOfBuffer { expected: usize, actual: usize },
#[error("Unknown MessageType {0}")]
InvalidMessageType(u8),
#[error("Unknown ChannelType {0}")]
InvalidChannelType(u8),
#[error("Unknown PayloadProtocolIdentifier {0}")]
InvalidPayloadProtocolIdentifier(u8),
#[error("Stream closed")]
ErrStreamClosed,
#[allow(non_camel_case_types)]
#[error("{0}")]
new(String),
}
impl Error {
pub fn equal(&self, err: &anyhow::Error) -> bool {
err.downcast_ref::<Self>().map_or(false, |e| e == self)
}
}