pub struct FlowConfig {Show 14 fields
pub tcp_established_timeout: Duration,
pub tcp_half_open_timeout: Duration,
pub tcp_time_wait_timeout: Duration,
pub udp_timeout: Duration,
pub max_reassembly_buffer: usize,
pub max_ooo_fragments: usize,
pub eviction_interval: Duration,
pub track_max_packet_len: bool,
pub track_max_flow_len: bool,
pub memory_budget: Option<usize>,
pub spill_dir: Option<PathBuf>,
pub verbose: bool,
pub store_packet_indices: bool,
pub progress_interval: usize,
}Expand description
Configuration for the flow extraction engine.
Controls timeouts, buffer limits, and eviction thresholds for conversation tracking and TCP stream reassembly.
Fields§
§tcp_established_timeout: DurationTimeout for established TCP connections (default: 86400s / 24h).
tcp_half_open_timeout: DurationTimeout for half-open TCP connections (SYN sent, no ACK) (default: 5s).
tcp_time_wait_timeout: DurationTimeout for TCP TIME_WAIT state (default: 120s).
udp_timeout: DurationTimeout for UDP pseudo-conversations (default: 120s).
max_reassembly_buffer: usizeMaximum reassembly buffer size per direction per flow (default: 16 MB).
max_ooo_fragments: usizeMaximum number of out-of-order fragments per direction (default: 100).
eviction_interval: DurationInterval between idle conversation eviction sweeps (default: 30s).
track_max_packet_len: boolTrack maximum packet length per direction (default: false).
track_max_flow_len: boolTrack maximum flow length per direction (default: false).
memory_budget: Option<usize>Total RAM budget for flow extraction (None = unlimited). When set, reassembly buffers will be spilled to disk when exceeded.
spill_dir: Option<PathBuf>Directory for spill files (None = system temp dir).
verbose: boolPrint progress feedback to stderr during flow extraction (default: false).
store_packet_indices: boolStore per-flow packet indices (default: true). Disable for large captures to save memory (~8 bytes per packet).
progress_interval: usizeNumber of packets between progress reports when verbose is enabled (default: 100_000).
Trait Implementations§
Source§impl Clone for FlowConfig
impl Clone for FlowConfig
Source§fn clone(&self) -> FlowConfig
fn clone(&self) -> FlowConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FlowConfig
impl Debug for FlowConfig
Auto Trait Implementations§
impl Freeze for FlowConfig
impl RefUnwindSafe for FlowConfig
impl Send for FlowConfig
impl Sync for FlowConfig
impl Unpin for FlowConfig
impl UnsafeUnpin for FlowConfig
impl UnwindSafe for FlowConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more