pub struct PriceData {
pub item_name: String,
pub item_pos: usize,
pub fields: PriceFields,
pub changed_fields: PriceFields,
pub is_snapshot: bool,
}Expand description
Structure for price data received from the IG Markets API Contains information about market prices and related data
Fields§
§item_name: StringName of the item (usually the market ID)
item_pos: usizePosition of the item in the subscription
fields: PriceFieldsAll price fields for this market
changed_fields: PriceFieldsFields that have changed in this update
is_snapshot: boolWhether this is a snapshot or an update
Implementations§
Source§impl PriceData
impl PriceData
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 PriceData 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 PriceData or an error message
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PriceData
impl<'de> Deserialize<'de> for PriceData
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 PriceData
impl From<&ItemUpdate> for PriceData
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 PriceData
impl RefUnwindSafe for PriceData
impl Send for PriceData
impl Sync for PriceData
impl Unpin for PriceData
impl UnsafeUnpin for PriceData
impl UnwindSafe for PriceData
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