pub struct BatchConfig {
pub max_operations_per_packet: usize,
pub max_packet_size: usize,
pub packet_timeout_ms: u64,
pub continue_on_error: bool,
pub optimize_packet_packing: bool,
}
Expand description
Configuration for batch operations
This structure controls the behavior and performance characteristics of batch read/write operations. Proper tuning can significantly improve throughput for applications that need to process many tags.
Fields§
§max_operations_per_packet: usize
Maximum number of operations to include in a single CIP packet
Larger values improve performance but may exceed PLC packet size limits. Typical range: 10-50 operations per packet.
max_packet_size: usize
Maximum packet size in bytes for batch operations
Should not exceed the PLC’s maximum packet size capability. Typical values: 504 bytes (default), up to 4000 bytes for modern PLCs.
packet_timeout_ms: u64
Timeout for individual batch packets (in milliseconds)
This is per-packet timeout, not per-operation. Typical range: 1000-5000 milliseconds.
continue_on_error: bool
Whether to continue processing other operations if one fails
If true, failed operations are reported but don’t stop the batch. If false, the first error stops the entire batch processing.
optimize_packet_packing: bool
Whether to optimize packet packing by grouping similar operations
If true, reads and writes are grouped separately for better performance. If false, operations are processed in the order provided.
Trait Implementations§
Source§impl Clone for BatchConfig
impl Clone for BatchConfig
Source§fn clone(&self) -> BatchConfig
fn clone(&self) -> BatchConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more