pub struct LockFreeExecutionEngine { /* private fields */ }Expand description
Lock-free execution engine using crossbeam::queue::SegQueue
This implementation provides:
- Zero contention on the critical path
- Lock-free work distribution
- Efficient batch processing
- Cache-friendly memory layout
Implementations§
Source§impl LockFreeExecutionEngine
impl LockFreeExecutionEngine
Sourcepub fn new(
event_receiver: Receiver<ExecutionEvent>,
report_sender: Sender<ExecutionReport>,
) -> Self
pub fn new( event_receiver: Receiver<ExecutionEvent>, report_sender: Sender<ExecutionReport>, ) -> Self
Create a new lock-free execution engine
Sourcepub fn register_exchange(&self, exchange: Arc<dyn Exchange>)
pub fn register_exchange(&self, exchange: Arc<dyn Exchange>)
Register an exchange adapter with this execution engine
Sourcepub fn queue_depth(&self) -> usize
pub fn queue_depth(&self) -> usize
Get queue depth for monitoring
Sourcepub fn report_sender(&self) -> Sender<ExecutionReport>
pub fn report_sender(&self) -> Sender<ExecutionReport>
Get a execution report channel that sends to this engine
Sourcepub fn event_receiver(&self) -> Receiver<ExecutionEvent>
pub fn event_receiver(&self) -> Receiver<ExecutionEvent>
Get an execution event channel that this engine listens to
Auto Trait Implementations§
impl Freeze for LockFreeExecutionEngine
impl !RefUnwindSafe for LockFreeExecutionEngine
impl Send for LockFreeExecutionEngine
impl Sync for LockFreeExecutionEngine
impl Unpin for LockFreeExecutionEngine
impl !UnwindSafe for LockFreeExecutionEngine
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