pub struct FillEngine { /* private fields */ }Expand description
Fill simulation and bookkeeping engine.
FillEngine favors ergonomic Decimal outputs and owned FillEvent records
over allocation-sensitive execution. It should not be used as evidence that the
order-routing or market-data hot paths are allocation-free.
Implementations§
Source§impl FillEngine
impl FillEngine
Sourcepub fn new(
min_fill_size: Decimal,
max_slippage_pct: Decimal,
fee_rate_bps: u32,
) -> Self
pub fn new( min_fill_size: Decimal, max_slippage_pct: Decimal, fee_rate_bps: u32, ) -> Self
Create a new fill simulation engine.
Sourcepub fn execute_market_order(
&mut self,
order: &MarketOrderRequest,
book: &OrderBook,
) -> Result<FillResult>
pub fn execute_market_order( &mut self, order: &MarketOrderRequest, book: &OrderBook, ) -> Result<FillResult>
Simulate executing a market order against an order book.
This method allocates and converts internal book levels back to Decimal
via OrderBook::asks/OrderBook::bids, then builds owned FillEvent
records. It is suitable for simulation and reporting, not latency-sensitive
execution benchmarking.
Sourcepub fn execute_limit_order(
&mut self,
order: &OrderRequest,
book: &OrderBook,
) -> Result<FillResult>
pub fn execute_limit_order( &mut self, order: &OrderRequest, book: &OrderBook, ) -> Result<FillResult>
Simulate executing a limit order.
Sourcepub fn get_all_fills(&self) -> Vec<&FillEvent>
pub fn get_all_fills(&self) -> Vec<&FillEvent>
Get all fills
Sourcepub fn clear_fills(&mut self, order_id: &str)
pub fn clear_fills(&mut self, order_id: &str)
Clear fills for an order
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FillEngine
impl RefUnwindSafe for FillEngine
impl Send for FillEngine
impl Sync for FillEngine
impl Unpin for FillEngine
impl UnsafeUnpin for FillEngine
impl UnwindSafe for FillEngine
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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