pub struct MultiExchangeTxMap<Tx = UnboundedTx<ExecutionRequest>>(/* private fields */);Expand description
A map of exchange transmitters that efficiently routes execution requests to exchange-specific transmitter channels.
FnvIndexMap of ExecutionRequest Txs for each exchange.
Facilitates the routing of execution requests in a multi exchange trading system.
Note that a transmitter for an exchange is optional. This handles the case where instruments for an exchange may be tracked by the trading system, but not trading on.
Without this optional transmitter the ExchangeIndexs would not be valid..
Trait Implementations§
Source§impl<Tx: Debug> Debug for MultiExchangeTxMap<Tx>
impl<Tx: Debug> Debug for MultiExchangeTxMap<Tx>
Source§impl<Transmitter> ExecutionTxMap for MultiExchangeTxMap<Transmitter>
impl<Transmitter> ExecutionTxMap for MultiExchangeTxMap<Transmitter>
type ExecutionTx = Transmitter
Source§fn find(
&self,
exchange: &ExchangeIndex,
) -> Result<&Self::ExecutionTx, UnrecoverableEngineError>
fn find( &self, exchange: &ExchangeIndex, ) -> Result<&Self::ExecutionTx, UnrecoverableEngineError>
Source§fn iter<'a>(&'a self) -> impl Iterator<Item = &'a Self::ExecutionTx>where
Self::ExecutionTx: 'a,
fn iter<'a>(&'a self) -> impl Iterator<Item = &'a Self::ExecutionTx>where
Self::ExecutionTx: 'a,
Source§impl<Tx> FromIterator<(ExchangeId, Option<Tx>)> for MultiExchangeTxMap<Tx>
impl<Tx> FromIterator<(ExchangeId, Option<Tx>)> for MultiExchangeTxMap<Tx>
Source§impl<'a, Tx> IntoIterator for &'a MultiExchangeTxMap<Tx>
impl<'a, Tx> IntoIterator for &'a MultiExchangeTxMap<Tx>
Source§impl<'a, Tx> IntoIterator for &'a mut MultiExchangeTxMap<Tx>
impl<'a, Tx> IntoIterator for &'a mut MultiExchangeTxMap<Tx>
Auto Trait Implementations§
impl<Tx> Freeze for MultiExchangeTxMap<Tx>
impl<Tx> RefUnwindSafe for MultiExchangeTxMap<Tx>where
Tx: RefUnwindSafe,
impl<Tx> Send for MultiExchangeTxMap<Tx>where
Tx: Send,
impl<Tx> Sync for MultiExchangeTxMap<Tx>where
Tx: Sync,
impl<Tx> Unpin for MultiExchangeTxMap<Tx>where
Tx: Unpin,
impl<Tx> UnsafeUnpin for MultiExchangeTxMap<Tx>
impl<Tx> UnwindSafe for MultiExchangeTxMap<Tx>where
Tx: UnwindSafe,
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> 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