Skip to main content

stackforge_core/flow/
error.rs

1use thiserror::Error;
2
3use crate::error::PacketError;
4
5/// Errors that can occur during flow extraction and conversation tracking.
6#[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}