2 use num_enum::TryFromPrimitiveError;
5 #[derive(Error, Debug)]
7 #[error("io error: {0}")]
8 IoError(#[from] std::io::Error),
9 #[error("invalid protocol ID: {0}")]
11 #[error("invalid channel: {0}")]
13 #[error("invalid type: {0}")]
15 #[error("invalid control type: {0}")]
17 #[error("peer ID already set")]
19 #[error("chunk index {0} bigger than chunk count {1}")]
20 InvalidChunkIndex(usize, usize),
21 #[error("chunk count changed from {0} to {1}")]
22 InvalidChunkCount(usize, usize),
23 #[error("remote disconnected (timeout = {0})")]
25 #[error("local disconnected")]
29 impl From<TryFromPrimitiveError<PktType>> for Error {
30 fn from(err: TryFromPrimitiveError<PktType>) -> Self {
31 Self::InvalidType(err.number)
35 impl From<TryFromPrimitiveError<CtlType>> for Error {
36 fn from(err: TryFromPrimitiveError<CtlType>) -> Self {
37 Self::InvalidCtlType(err.number)