pub struct SequenceManager { /* private fields */ }Expand description
Manages sequence numbers for a FIX session.
Uses atomic operations for thread-safe access without locks.
Implementations§
Source§impl SequenceManager
impl SequenceManager
Sourcepub fn new() -> SequenceManager
pub fn new() -> SequenceManager
Creates a new sequence manager with sequence numbers starting at 1.
Sourcepub fn with_initial(sender_seq: u64, target_seq: u64) -> SequenceManager
pub fn with_initial(sender_seq: u64, target_seq: u64) -> SequenceManager
Creates a new sequence manager with specified starting values.
§Arguments
sender_seq- Initial sender sequence numbertarget_seq- Initial target sequence number
Sourcepub fn next_sender_seq(&self) -> SeqNum
pub fn next_sender_seq(&self) -> SeqNum
Returns the next sender sequence number without incrementing.
Sourcepub fn next_target_seq(&self) -> SeqNum
pub fn next_target_seq(&self) -> SeqNum
Returns the next target sequence number without incrementing.
Sourcepub fn allocate_sender_seq(&self) -> SeqNum
pub fn allocate_sender_seq(&self) -> SeqNum
Allocates and returns the next sender sequence number.
This atomically increments the sequence number and returns the value before the increment.
Sourcepub fn increment_target_seq(&self)
pub fn increment_target_seq(&self)
Increments the target sequence number.
Call this after successfully processing an incoming message.
Sourcepub fn set_sender_seq(&self, seq: u64)
pub fn set_sender_seq(&self, seq: u64)
Sourcepub fn set_target_seq(&self, seq: u64)
pub fn set_target_seq(&self, seq: u64)
Sourcepub fn validate_incoming(&self, received: u64) -> SequenceResult
pub fn validate_incoming(&self, received: u64) -> SequenceResult
Trait Implementations§
Source§impl Debug for SequenceManager
impl Debug for SequenceManager
Source§impl Default for SequenceManager
impl Default for SequenceManager
Source§fn default() -> SequenceManager
fn default() -> SequenceManager
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for SequenceManager
impl RefUnwindSafe for SequenceManager
impl Send for SequenceManager
impl Sync for SequenceManager
impl Unpin for SequenceManager
impl UnwindSafe for SequenceManager
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
Mutably borrows from an owned value. Read more