pub struct StreamingQueueConfig {
pub k: usize,
pub segment_size: usize,
pub min_match_len: usize,
pub compression_level: i32,
pub num_threads: usize,
pub queue_capacity: usize,
pub verbosity: usize,
pub adaptive_mode: bool,
pub fallback_frac: f64,
pub batch_size: usize,
pub pack_size: usize,
pub concatenated_genomes: bool,
}Expand description
Configuration for the streaming queue-based compressor
Fields§
§k: usizeK-mer length for splitters
segment_size: usizeSegment size for splitting contigs
min_match_len: usizeMinimum match length for LZ encoding
compression_level: i32ZSTD compression level (1-22)
num_threads: usizeNumber of worker threads
queue_capacity: usizeQueue capacity in bytes (default: 2 GB, like C++ AGC)
verbosity: usizeVerbosity level
adaptive_mode: boolAdaptive mode: find new splitters for samples that can’t be segmented well (matches C++ AGC -a flag)
fallback_frac: f64Fallback fraction: fraction of minimizers to use for fallback grouping (matches C++ AGC –fallback-frac parameter, default 0.0)
batch_size: usizeBatch size: number of samples to accumulate before sorting and distributing (matches C++ AGC pack_cardinality parameter, default 50) Segments from batch_size samples are sorted by (sample, contig, seg_part_no) before distribution to groups, ensuring consistent pack boundaries with C++ AGC.
pack_size: usizePack size: number of segments per pack (matches C++ AGC contigs_in_pack) When a group reaches this many segments, write a pack immediately (default: 50, matching PACK_CARDINALITY)
concatenated_genomes: boolConcatenated genomes mode: if true, send sync tokens every pack_size contigs If false (multiple input files), only send sync tokens at sample boundaries Matches C++ AGC’s concatenated_genomes behavior
Trait Implementations§
Source§impl Clone for StreamingQueueConfig
impl Clone for StreamingQueueConfig
Source§fn clone(&self) -> StreamingQueueConfig
fn clone(&self) -> StreamingQueueConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StreamingQueueConfig
impl Debug for StreamingQueueConfig
Auto Trait Implementations§
impl Freeze for StreamingQueueConfig
impl RefUnwindSafe for StreamingQueueConfig
impl Send for StreamingQueueConfig
impl Sync for StreamingQueueConfig
impl Unpin for StreamingQueueConfig
impl UnwindSafe for StreamingQueueConfig
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