pub struct OrderMatchingCore {
pub instrument_id: InstrumentId,
pub price_increment: Price,
pub bid: Option<Price>,
pub ask: Option<Price>,
pub last: Option<Price>,
pub is_bid_initialized: bool,
pub is_ask_initialized: bool,
pub is_last_initialized: bool,
/* private fields */
}
Expand description
A generic order matching core.
Fields§
§instrument_id: InstrumentId
The instrument ID for the matching core.
price_increment: Price
The price increment for the matching core.
bid: Option<Price>
The current bid price for the matching core.
ask: Option<Price>
The current ask price for the matching core.
last: Option<Price>
The last price for the matching core.
is_bid_initialized: bool
§is_ask_initialized: bool
§is_last_initialized: bool
Implementations§
Source§impl OrderMatchingCore
impl OrderMatchingCore
pub fn new( instrument_id: InstrumentId, price_increment: Price, trigger_stop_order: Option<fn(_: &StopOrderAny)>, fill_market_order: Option<fn(_: &MarketOrder)>, fill_limit_order: Option<fn(_: &LimitOrderAny)>, ) -> Self
pub const fn price_precision(&self) -> u8
pub fn get_orders_bid(&self) -> &[PassiveOrderAny]
pub fn get_orders_ask(&self) -> &[PassiveOrderAny]
pub fn order_exists(&self, client_order_id: ClientOrderId) -> bool
pub fn set_last_raw(&mut self, last: Price)
pub fn set_bid_raw(&mut self, bid: Price)
pub fn set_ask_raw(&mut self, ask: Price)
pub fn reset(&mut self)
pub fn add_order(&mut self, order: PassiveOrderAny) -> Result<(), OrderError>
pub fn delete_order( &mut self, order: &PassiveOrderAny, ) -> Result<(), OrderError>
pub fn iterate(&self)
pub fn iterate_bids(&self)
pub fn iterate_asks(&self)
pub fn match_limit_order(&self, order: &LimitOrderAny)
pub fn match_stop_order(&self, order: &StopOrderAny)
pub fn is_limit_matched(&self, order: &LimitOrderAny) -> bool
pub fn is_stop_matched(&self, order: &StopOrderAny) -> bool
Auto Trait Implementations§
impl Freeze for OrderMatchingCore
impl RefUnwindSafe for OrderMatchingCore
impl Send for OrderMatchingCore
impl Sync for OrderMatchingCore
impl Unpin for OrderMatchingCore
impl UnwindSafe for OrderMatchingCore
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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