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 const fn new( instrument_id: InstrumentId, price_increment: Price, trigger_stop_order: Option<ShareableTriggerStopOrderHandler>, fill_market_order: Option<ShareableFillMarketOrderHandler>, fill_limit_order: Option<ShareableFillLimitOrderHandler>, ) -> Self
pub fn set_fill_limit_order_handler( &mut self, handler: ShareableFillLimitOrderHandler, )
pub fn set_trigger_stop_order_handler( &mut self, handler: ShareableTriggerStopOrderHandler, )
pub fn set_fill_market_order_handler( &mut self, handler: ShareableFillMarketOrderHandler, )
pub const fn price_precision(&self) -> u8
pub fn get_order( &self, client_order_id: ClientOrderId, ) -> Option<&PassiveOrderAny>
pub fn get_orders_bid(&self) -> &[PassiveOrderAny]
pub fn get_orders_ask(&self) -> &[PassiveOrderAny]
pub fn get_orders(&self) -> Vec<PassiveOrderAny>
pub fn order_exists(&self, client_order_id: ClientOrderId) -> bool
pub const fn set_last_raw(&mut self, last: Price)
pub const fn set_bid_raw(&mut self, bid: Price)
pub const 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(&mut self)
pub fn iterate_bids(&mut self)
pub fn iterate_asks(&mut self)
pub fn match_order(&mut self, order: &PassiveOrderAny, _initial: bool)
pub fn match_limit_order(&mut self, order: &LimitOrderAny)
pub fn match_stop_order(&mut self, order: &StopOrderAny)
pub fn is_limit_matched(&self, side: OrderSideSpecified, price: Price) -> bool
pub fn is_stop_matched(&self, side: OrderSideSpecified, price: Price) -> bool
pub fn is_touch_triggered( &self, side: OrderSideSpecified, trigger_price: Price, ) -> bool
Trait Implementations§
Source§impl Clone for OrderMatchingCore
impl Clone for OrderMatchingCore
Source§fn clone(&self) -> OrderMatchingCore
fn clone(&self) -> OrderMatchingCore
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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