Skip to main content

PendingIntent

Struct PendingIntent 

pub struct PendingIntent {
Show 14 fields pub client_intent_id: ClientIntentId, pub action: IntentAction, pub target_order_id: Option<OrderId>, pub venue_id: VenueId, pub instrument_id: InstrumentId, pub side: Side, pub order_type: OrderType, pub price: Option<Decimal>, pub qty: Decimal, pub reduce_only: bool, pub time_in_force: Option<TimeInForce>, pub correlation_id: Option<Uuid>, pub strategy_id: Option<String>, pub commanded: bool,
}
Expand description

Cached intent data for constructing an Order when ExecutionAck arrives.

Fields§

§client_intent_id: ClientIntentId§action: IntentAction§target_order_id: Option<OrderId>

Target order for Amend/Cancel actions. None for Place/CancelAll.

§venue_id: VenueId§instrument_id: InstrumentId§side: Side§order_type: OrderType§price: Option<Decimal>§qty: Decimal§reduce_only: bool§time_in_force: Option<TimeInForce>§correlation_id: Option<Uuid>

Correlation ID linking intent → risk → exec chain.

§strategy_id: Option<String>

Originating strategy id, propagated from the EngineEvent envelope.

§commanded: bool

Set by the reducer when an ExecutionCommand has been issued for this intent. Prevents process_approved_intents from generating duplicate commands before the ExecutionAck arrives and removes the intent.

Implementations§

§

impl PendingIntent

pub const NO_QTY: Decimal = Decimal::NEGATIVE_ONE

Sentinel value for qty indicating no replacement quantity was supplied (used for Amend intents that only change price).

This must stay distinct from any semantically meaningful amend size, including an explicit Some(0) which some adapters treat as a terminalizing resize.

pub fn effective_qty(&self) -> Option<Decimal>

Returns the effective qty, or None if the sentinel indicates no replacement quantity was supplied (Amend-only).

pub fn to_order_intent(&self) -> OrderIntent

Convert back to an [OrderIntent] for risk re-validation.

Tags are not preserved in PendingIntent, so the returned intent has an empty tag map.

Trait Implementations§

§

impl Clone for PendingIntent

§

fn clone(&self) -> PendingIntent

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for PendingIntent

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<'de> Deserialize<'de> for PendingIntent

§

fn deserialize<__D>( __deserializer: __D, ) -> Result<PendingIntent, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl PartialEq for PendingIntent

§

fn eq(&self, other: &PendingIntent) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl Serialize for PendingIntent

§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
§

impl Eq for PendingIntent

§

impl StructuralPartialEq for PendingIntent

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,