Skip to main content

fips_core/protocol/
error.rs

1//! Protocol error types.
2
3use thiserror::Error;
4
5/// Errors related to protocol message handling.
6#[derive(Debug, Error)]
7pub enum ProtocolError {
8    #[error("invalid message type: 0x{0:02x}")]
9    InvalidMessageType(u8),
10
11    #[error("message too short: expected at least {expected}, got {got}")]
12    MessageTooShort { expected: usize, got: usize },
13
14    #[error("message too long: max {max}, got {got}")]
15    MessageTooLong { max: usize, got: usize },
16
17    #[error("invalid signature")]
18    InvalidSignature,
19
20    #[error("unsupported protocol version: {0}")]
21    UnsupportedVersion(u8),
22
23    #[error("malformed message: {0}")]
24    Malformed(String),
25
26    #[error("hop limit exceeded")]
27    HopLimitExceeded,
28
29    #[error("ttl expired")]
30    TtlExpired,
31}