#[non_exhaustive]pub enum AccountEventKind<ExchangeKey, AssetKey, InstrumentKey> {
Show 15 variants
Snapshot(AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>),
BalanceSnapshot(Snapshot<AssetBalance<AssetKey>>),
BalanceStreamUpdate(Snapshot<AssetBalanceUpdate<AssetKey>>),
InstrumentBalanceUpdate(InstrumentBalanceUpdate<AssetKey, InstrumentKey>),
InstrumentBalanceSnapshot(InstrumentBalanceSnapshot<AssetKey, InstrumentKey>),
OrderSnapshot(Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>),
OrderCancelled(OrderResponseCancel<ExchangeKey, AssetKey, InstrumentKey>),
Trade(Trade<AssetKey, InstrumentKey>),
StreamTerminated(StreamTerminationReason),
FillRecoveryGaveUp(FillRecoveryGap<InstrumentKey>),
TradeAmended(TradeAmendment<AssetKey, InstrumentKey>),
ReinitFailed(AccountReinitFailure<AssetKey, InstrumentKey>),
CashFlow(CashFlow<AssetKey, InstrumentKey>),
Notice(AccountNotice<InstrumentKey>),
MarginDebt(MarginDebtUpdate<AssetKey, InstrumentKey>),
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Snapshot(AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>)
Full AccountSnapshot - replaces all existing state.
BalanceSnapshot(Snapshot<AssetBalance<AssetKey>>)
Single AssetBalance snapshot - replaces existing balance state.
Sourced from a REST account snapshot: carries the full balance including any per-asset
margin debt (borrowed/interest). This is the authoritative source for debt totals.
BalanceStreamUpdate(Snapshot<AssetBalanceUpdate<AssetKey>>)
Single AssetBalanceUpdate - applies a WS partial (free/locked only).
Sourced from an exchange WS user-data stream (e.g. Binance outboundAccountPosition). It
carries no margin debt, so applying it updates free/locked while preserving any
existing MarginDetails — debt cannot be silently clobbered by a
stream update. Debt totals remain as fresh as the last BalanceSnapshot
or MarginDebt.
InstrumentBalanceUpdate(InstrumentBalanceUpdate<AssetKey, InstrumentKey>)
Live per-instrument isolated-margin balance update (free/locked of one asset of a pair).
The stream counterpart of InstrumentAccountSnapshot::isolated for venues with per-pair
isolated sub-accounts (e.g. Binance isolated margin). Carries a point-in-time free/locked
snapshot of one of the pair’s assets — NOT a delta — keyed by instrument as well as
asset, because isolated balances are per-(pair, asset) and cannot be folded into the
asset-keyed balance state without collision (see InstrumentBalanceUpdate).
The engine deliberately does not store this (the per-asset balance state is informational
only and the engine never reads it for sizing/gating); a consumer reads it off the account
event feed. A pair’s debt arrives apart, as a MarginDebt naming the
pair, from a venue that streams it.
InstrumentBalanceSnapshot(InstrumentBalanceSnapshot<AssetKey, InstrumentKey>)
One asset’s full balance in a pair’s isolated sub-account, debt included, read over REST.
The per-instrument counterpart of BalanceSnapshot, and the event
form of one side of InstrumentAccountSnapshot::isolated: an account stream that
reconnects by itself reads its isolated pairs’ balances and emits one of these for each
pair’s base and quote, so a change it missed while disconnected is restated. Like
InstrumentBalanceUpdate, the engine does not store it.
OrderSnapshot(Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>)
Single Order snapshot - used to upsert existing order state if it’s more recent.
This variant covers general order updates, and open order responses.
OrderCancelled(OrderResponseCancel<ExchangeKey, AssetKey, InstrumentKey>)
Response to an OrderRequestCancel<ExchangeKey, InstrumentKey>.
Trade(Trade<AssetKey, InstrumentKey>)
Order<ExchangeKey, InstrumentKey, Open> partial or full-fill.
The fee asset (AssetKey) may be the quote asset, base asset, or a third-party
asset (e.g., BNB on Binance). Use fees.fees_quote for quote-equivalent value
when available.
StreamTerminated(StreamTerminationReason)
The account event stream has ended; no further events will arrive on it.
This is the in-band, programmatic signal that a stream died — delivered on the same
account feed as every other event rather than being inferred from channel EOF or read from
logs. The StreamTerminationReason distinguishes a venue that exhausted its reconnect
budget from an unrecoverable error, so the consumer can apply its own recovery policy
(re-establish the stream, re-sync via REST, halt trading). The library reports that and
why the stream ended; it does not prescribe the response.
Only terminations deliverable while the consumer is still listening are signalled: a
consumer-initiated drop closes the receiver, so there is no one left to deliver to (see
StreamTerminationReason for the deliverable-only rationale).
FillRecoveryGaveUp(FillRecoveryGap<InstrumentKey>)
Fill recovery gave up on a span of fills: fills in it may not have been delivered.
Sent by venues that recover missed fills after a reconnect (Binance Spot and Margin,
Alpaca) when a recovery read fails for good, once per failed read. The stream carries on.
The engine logs it and changes no state; reconciling is the consumer’s policy. See
FillRecoveryGap for what the span covers and how to read it again.
TradeAmended(TradeAmendment<AssetKey, InstrumentKey>)
A trade delivered earlier was busted or corrected by the venue.
The earlier Trade is not withdrawn, so state built on it is wrong until
the consumer applies this. The engine logs it and changes no state; reversing the trade is
the consumer’s policy. See TradeAmendment.
ReinitFailed(AccountReinitFailure<AssetKey, InstrumentKey>)
An attempt to re-initialise the account stream after it ended failed. Attempts continue with backoff.
Sent by a consumer that re-initialises the account stream itself, such as the rustrade
crate’s ExecutionManager, once per failed attempt and in order with the other account
events. It reports that the account link is still down, so it is not evidence the link is
up. The engine logs it and changes no state. How long to keep waiting, and whether to halt
or alert, is the consumer’s policy. See AccountReinitFailure.
CashFlow(CashFlow<AssetKey, InstrumentKey>)
Cash moved into or out of the account other than by a trade: funding, interest, a borrow fee or a rebate, as the venue posted it.
A flow is a delta, signed positive when the account received it. The engine adds a flow
attributed to an instrument to the carry of that instrument’s open position (see
Position::carry in rustrade), and applies none to balances: the venue’s balances already
include what it has posted. See CashFlow for which venues send it.
Notice(AccountNotice<InstrumentKey>)
The venue reported a change in the account’s margin or liquidation state: a margin call, a liquidation warning, a liquidation under way, or that one of those no longer holds.
A notice changes no balance or position. The engine logs it, at warn when
NoticeKind::is_escalation and at info otherwise, and changes no state; what to do
about it is the consumer’s policy. A notice sent while the stream was disconnected is not
recovered. See AccountNotice for which venues send it.
MarginDebt(MarginDebtUpdate<AssetKey, InstrumentKey>)
What a margin account owes in one asset changed: a borrow, a repay or an interest charge.
Carries the principal and interest owed after the change, both totals, so applying one
replaces the debt held and applying it twice changes nothing. The engine applies an update
that names no instrument to the asset’s Balance::margin,
ordered by its time against earlier debt alone, and leaves free/locked as they are. An
update that names an isolated pair changes no engine state; a consumer reads it off the
account event feed. See MarginDebtUpdate for which venues
send it.
Trait Implementations§
Source§impl<ExchangeKey: Clone, AssetKey: Clone, InstrumentKey: Clone> Clone for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey: Clone, AssetKey: Clone, InstrumentKey: Clone> Clone for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§impl<ExchangeKey: Debug, AssetKey: Debug, InstrumentKey: Debug> Debug for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey: Debug, AssetKey: Debug, InstrumentKey: Debug> Debug for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§impl<'de, ExchangeKey, AssetKey, InstrumentKey> Deserialize<'de> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<'de, ExchangeKey, AssetKey, InstrumentKey> Deserialize<'de> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<AccountNotice<InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<AccountNotice<InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: AccountNotice<InstrumentKey>) -> Self
fn from(value: AccountNotice<InstrumentKey>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<AccountReinitFailure<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<AccountReinitFailure<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: AccountReinitFailure<AssetKey, InstrumentKey>) -> Self
fn from(value: AccountReinitFailure<AssetKey, InstrumentKey>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>) -> Self
fn from(value: AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<CashFlow<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<CashFlow<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<FillRecoveryGap<InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<FillRecoveryGap<InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: FillRecoveryGap<InstrumentKey>) -> Self
fn from(value: FillRecoveryGap<InstrumentKey>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<InstrumentBalanceSnapshot<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<InstrumentBalanceSnapshot<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: InstrumentBalanceSnapshot<AssetKey, InstrumentKey>) -> Self
fn from(value: InstrumentBalanceSnapshot<AssetKey, InstrumentKey>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<InstrumentBalanceUpdate<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<InstrumentBalanceUpdate<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: InstrumentBalanceUpdate<AssetKey, InstrumentKey>) -> Self
fn from(value: InstrumentBalanceUpdate<AssetKey, InstrumentKey>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<MarginDebtUpdate<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<MarginDebtUpdate<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: MarginDebtUpdate<AssetKey, InstrumentKey>) -> Self
fn from(value: MarginDebtUpdate<AssetKey, InstrumentKey>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(
value: OrderResponseCancel<ExchangeKey, AssetKey, InstrumentKey>,
) -> Self
fn from( value: OrderResponseCancel<ExchangeKey, AssetKey, InstrumentKey>, ) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<Snapshot<AssetBalance<AssetKey>>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<Snapshot<AssetBalance<AssetKey>>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: Snapshot<AssetBalance<AssetKey>>) -> Self
fn from(value: Snapshot<AssetBalance<AssetKey>>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<Snapshot<AssetBalanceUpdate<AssetKey>>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<Snapshot<AssetBalanceUpdate<AssetKey>>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: Snapshot<AssetBalanceUpdate<AssetKey>>) -> Self
fn from(value: Snapshot<AssetBalanceUpdate<AssetKey>>) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<StreamTerminationReason> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<StreamTerminationReason> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: StreamTerminationReason) -> Self
fn from(value: StreamTerminationReason) -> Self
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<Trade<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<Trade<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§impl<ExchangeKey, AssetKey, InstrumentKey> From<TradeAmendment<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> From<TradeAmendment<AssetKey, InstrumentKey>> for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§fn from(value: TradeAmendment<AssetKey, InstrumentKey>) -> Self
fn from(value: TradeAmendment<AssetKey, InstrumentKey>) -> Self
Source§impl<ExchangeKey: PartialEq, AssetKey: PartialEq, InstrumentKey: PartialEq> PartialEq for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey: PartialEq, AssetKey: PartialEq, InstrumentKey: PartialEq> PartialEq for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Source§impl<ExchangeKey, AssetKey, InstrumentKey> Serialize for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey, AssetKey, InstrumentKey> Serialize for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
impl<ExchangeKey: PartialEq, AssetKey: PartialEq, InstrumentKey: PartialEq> StructuralPartialEq for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>
Auto Trait Implementations§
impl<ExchangeKey, AssetKey, InstrumentKey> Freeze for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>where
AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>: Freeze,
Snapshot<AssetBalance<AssetKey>>: Freeze,
Snapshot<AssetBalanceUpdate<AssetKey>>: Freeze,
InstrumentBalanceUpdate<AssetKey, InstrumentKey>: Freeze,
InstrumentBalanceSnapshot<AssetKey, InstrumentKey>: Freeze,
Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>: Freeze,
OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>: Freeze,
Trade<AssetKey, InstrumentKey>: Freeze,
FillRecoveryGap<InstrumentKey>: Freeze,
TradeAmendment<AssetKey, InstrumentKey>: Freeze,
AccountReinitFailure<AssetKey, InstrumentKey>: Freeze,
CashFlow<AssetKey, InstrumentKey>: Freeze,
AccountNotice<InstrumentKey>: Freeze,
MarginDebtUpdate<AssetKey, InstrumentKey>: Freeze,
impl<ExchangeKey, AssetKey, InstrumentKey> RefUnwindSafe for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>where
AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>: RefUnwindSafe,
Snapshot<AssetBalance<AssetKey>>: RefUnwindSafe,
Snapshot<AssetBalanceUpdate<AssetKey>>: RefUnwindSafe,
InstrumentBalanceUpdate<AssetKey, InstrumentKey>: RefUnwindSafe,
InstrumentBalanceSnapshot<AssetKey, InstrumentKey>: RefUnwindSafe,
Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>: RefUnwindSafe,
OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>: RefUnwindSafe,
Trade<AssetKey, InstrumentKey>: RefUnwindSafe,
FillRecoveryGap<InstrumentKey>: RefUnwindSafe,
TradeAmendment<AssetKey, InstrumentKey>: RefUnwindSafe,
AccountReinitFailure<AssetKey, InstrumentKey>: RefUnwindSafe,
CashFlow<AssetKey, InstrumentKey>: RefUnwindSafe,
AccountNotice<InstrumentKey>: RefUnwindSafe,
MarginDebtUpdate<AssetKey, InstrumentKey>: RefUnwindSafe,
impl<ExchangeKey, AssetKey, InstrumentKey> Send for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>where
AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>: Send,
Snapshot<AssetBalance<AssetKey>>: Send,
Snapshot<AssetBalanceUpdate<AssetKey>>: Send,
InstrumentBalanceUpdate<AssetKey, InstrumentKey>: Send,
InstrumentBalanceSnapshot<AssetKey, InstrumentKey>: Send,
Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>: Send,
OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>: Send,
Trade<AssetKey, InstrumentKey>: Send,
FillRecoveryGap<InstrumentKey>: Send,
TradeAmendment<AssetKey, InstrumentKey>: Send,
AccountReinitFailure<AssetKey, InstrumentKey>: Send,
CashFlow<AssetKey, InstrumentKey>: Send,
AccountNotice<InstrumentKey>: Send,
MarginDebtUpdate<AssetKey, InstrumentKey>: Send,
impl<ExchangeKey, AssetKey, InstrumentKey> Sync for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>where
AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>: Sync,
Snapshot<AssetBalance<AssetKey>>: Sync,
Snapshot<AssetBalanceUpdate<AssetKey>>: Sync,
InstrumentBalanceUpdate<AssetKey, InstrumentKey>: Sync,
InstrumentBalanceSnapshot<AssetKey, InstrumentKey>: Sync,
Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>: Sync,
OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>: Sync,
Trade<AssetKey, InstrumentKey>: Sync,
FillRecoveryGap<InstrumentKey>: Sync,
TradeAmendment<AssetKey, InstrumentKey>: Sync,
AccountReinitFailure<AssetKey, InstrumentKey>: Sync,
CashFlow<AssetKey, InstrumentKey>: Sync,
AccountNotice<InstrumentKey>: Sync,
MarginDebtUpdate<AssetKey, InstrumentKey>: Sync,
impl<ExchangeKey, AssetKey, InstrumentKey> Unpin for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>where
AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>: Unpin,
Snapshot<AssetBalance<AssetKey>>: Unpin,
Snapshot<AssetBalanceUpdate<AssetKey>>: Unpin,
InstrumentBalanceUpdate<AssetKey, InstrumentKey>: Unpin,
InstrumentBalanceSnapshot<AssetKey, InstrumentKey>: Unpin,
Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>: Unpin,
OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>: Unpin,
Trade<AssetKey, InstrumentKey>: Unpin,
FillRecoveryGap<InstrumentKey>: Unpin,
TradeAmendment<AssetKey, InstrumentKey>: Unpin,
AccountReinitFailure<AssetKey, InstrumentKey>: Unpin,
CashFlow<AssetKey, InstrumentKey>: Unpin,
AccountNotice<InstrumentKey>: Unpin,
MarginDebtUpdate<AssetKey, InstrumentKey>: Unpin,
impl<ExchangeKey, AssetKey, InstrumentKey> UnsafeUnpin for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>where
AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>: UnsafeUnpin,
Snapshot<AssetBalance<AssetKey>>: UnsafeUnpin,
Snapshot<AssetBalanceUpdate<AssetKey>>: UnsafeUnpin,
InstrumentBalanceUpdate<AssetKey, InstrumentKey>: UnsafeUnpin,
InstrumentBalanceSnapshot<AssetKey, InstrumentKey>: UnsafeUnpin,
Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>: UnsafeUnpin,
OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>: UnsafeUnpin,
Trade<AssetKey, InstrumentKey>: UnsafeUnpin,
FillRecoveryGap<InstrumentKey>: UnsafeUnpin,
TradeAmendment<AssetKey, InstrumentKey>: UnsafeUnpin,
AccountReinitFailure<AssetKey, InstrumentKey>: UnsafeUnpin,
CashFlow<AssetKey, InstrumentKey>: UnsafeUnpin,
AccountNotice<InstrumentKey>: UnsafeUnpin,
MarginDebtUpdate<AssetKey, InstrumentKey>: UnsafeUnpin,
impl<ExchangeKey, AssetKey, InstrumentKey> UnwindSafe for AccountEventKind<ExchangeKey, AssetKey, InstrumentKey>where
AccountSnapshot<ExchangeKey, AssetKey, InstrumentKey>: UnwindSafe,
Snapshot<AssetBalance<AssetKey>>: UnwindSafe,
Snapshot<AssetBalanceUpdate<AssetKey>>: UnwindSafe,
InstrumentBalanceUpdate<AssetKey, InstrumentKey>: UnwindSafe,
InstrumentBalanceSnapshot<AssetKey, InstrumentKey>: UnwindSafe,
Snapshot<Order<ExchangeKey, InstrumentKey, OrderState<AssetKey, InstrumentKey>>>: UnwindSafe,
OrderEvent<Result<Cancelled, OrderError<AssetKey, InstrumentKey>>, ExchangeKey, InstrumentKey>: UnwindSafe,
Trade<AssetKey, InstrumentKey>: UnwindSafe,
FillRecoveryGap<InstrumentKey>: UnwindSafe,
TradeAmendment<AssetKey, InstrumentKey>: UnwindSafe,
AccountReinitFailure<AssetKey, InstrumentKey>: UnwindSafe,
CashFlow<AssetKey, InstrumentKey>: UnwindSafe,
AccountNotice<InstrumentKey>: UnwindSafe,
MarginDebtUpdate<AssetKey, InstrumentKey>: 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> 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> ⓘ
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> ⓘ
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 moreimpl<T> JsonSchemaMaybe for T
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.