pub struct PresentationMarketData {
pub item_name: String,
pub item_pos: usize,
pub fields: MarketFields,
pub changed_fields: MarketFields,
pub is_snapshot: bool,
}Expand description
Representation of market data received from the IG Markets streaming API
Fields§
§item_name: StringName of the item this data belongs to
item_pos: usizePosition of the item in the subscription
fields: MarketFieldsAll market fields
changed_fields: MarketFieldsFields that have changed in this update
is_snapshot: boolWhether this is a snapshot or an update
Implementations§
Source§impl PresentationMarketData
impl PresentationMarketData
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 PresentationMarketData 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
Result<Self, String>- The converted MarketData or an error message
Trait Implementations§
Source§impl Clone for PresentationMarketData
impl Clone for PresentationMarketData
Source§fn clone(&self) -> PresentationMarketData
fn clone(&self) -> PresentationMarketData
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PresentationMarketData
impl Debug for PresentationMarketData
Source§impl Default for PresentationMarketData
impl Default for PresentationMarketData
Source§fn default() -> PresentationMarketData
fn default() -> PresentationMarketData
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PresentationMarketData
impl<'de> Deserialize<'de> for PresentationMarketData
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 Display for PresentationMarketData
impl Display for PresentationMarketData
Source§impl From<&ItemUpdate> for PresentationMarketData
impl From<&ItemUpdate> for PresentationMarketData
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 PresentationMarketData
impl RefUnwindSafe for PresentationMarketData
impl Send for PresentationMarketData
impl Sync for PresentationMarketData
impl Unpin for PresentationMarketData
impl UnsafeUnpin for PresentationMarketData
impl UnwindSafe for PresentationMarketData
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