stackforge_core/flow/
error.rs1use thiserror::Error;
2
3use crate::error::PacketError;
4
5#[derive(Debug, Error)]
7pub enum FlowError {
8 #[error("packet is not parsed (call .parse() first)")]
9 PacketNotParsed,
10
11 #[error("no IP layer found in packet")]
12 NoIpLayer,
13
14 #[error("no transport layer found in packet")]
15 NoTransportLayer,
16
17 #[error("reassembly buffer exceeded limit ({limit} bytes)")]
18 ReassemblyBufferFull { limit: usize },
19
20 #[error("too many discontinuous fragments ({count}, limit {limit})")]
21 TooManyFragments { count: usize, limit: usize },
22
23 #[error("disk spill I/O error: {0}")]
24 SpillError(String),
25
26 #[error(transparent)]
27 PacketError(#[from] PacketError),
28}