pub struct TradeData {
pub item_name: String,
pub item_pos: usize,
pub fields: TradeFields,
pub changed_fields: TradeFields,
pub is_snapshot: bool,
}Expand description
Main structure for trade data received from the IG Markets API Contains information about trades, positions and working orders
Fields§
§item_name: StringName of the subscribed item
item_pos: usizePosition of the item in the subscription
fields: TradeFieldsTrade fields data
changed_fields: TradeFieldsChanged fields data
is_snapshot: boolWhether this is a snapshot
Implementations§
Source§impl TradeData
impl TradeData
Sourcepub fn from_fields(
item_name: Option<&str>,
item_pos: usize,
is_snapshot: bool,
fields: &HashMap<String, Option<String>>,
changed_fields: &HashMap<String, Option<String>>,
) -> Result<Self, String>
pub fn from_fields( item_name: Option<&str>, item_pos: usize, is_snapshot: bool, fields: &HashMap<String, Option<String>>, changed_fields: &HashMap<String, Option<String>>, ) -> Result<Self, String>
Builds a TradeData from pre-extracted streaming fields.
This is transport-agnostic: it takes plain field maps rather than a
Lightstreamer ItemUpdate, so the presentation layer carries no
dependency on the streaming transport. The ItemUpdate adapter lives in
crate::application::streaming_convert.
§Arguments
item_name- Subscription item name (Nonewhen subscribed by position)item_pos- 1-based position of the item in the subscriptionis_snapshot- Whether this update is a snapshotfields- Current field values for the itemchanged_fields- Field values that changed in this update
§Returns
A Result containing either the parsed TradeData or an error message
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TradeData
impl<'de> Deserialize<'de> for TradeData
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&ItemUpdate> for TradeData
impl From<&ItemUpdate> for TradeData
Source§fn from(item_update: &ItemUpdate) -> Self
fn from(item_update: &ItemUpdate) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for TradeData
impl RefUnwindSafe for TradeData
impl Send for TradeData
impl Sync for TradeData
impl Unpin for TradeData
impl UnsafeUnpin for TradeData
impl UnwindSafe for TradeData
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> 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