pub struct ChartData {
pub item_name: String,
pub item_pos: usize,
pub scale: ChartScale,
pub fields: ChartFields,
pub changed_fields: ChartFields,
pub is_snapshot: bool,
}Expand description
Chart data structure that represents price chart information Contains both tick and candle data depending on the chart scale
Fields§
§item_name: StringThe full Lightstreamer item name (e.g., CHART:EPIC:TIMESCALE)
item_pos: usizeThe 1-based position of the item in the subscription
scale: ChartScaleResolved chart scale for this update (derived from the item name)
fields: ChartFieldsAll current field values for the item
changed_fields: ChartFieldsOnly the fields that changed in this update
is_snapshot: boolWhether this update is part of the initial snapshot
Implementations§
Source§impl ChartData
impl ChartData
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 ChartData 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. The chart scale is derived from
the third :-separated segment of the item name (CHART:{epic}:{scale}).
§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 ChartData or an error message
Sourcepub fn get_scale(&self) -> &ChartScale
pub fn get_scale(&self) -> &ChartScale
Gets the time scale of the data
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ChartData
impl<'de> Deserialize<'de> for ChartData
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 From<&ItemUpdate> for ChartData
impl From<&ItemUpdate> for ChartData
Source§fn from(item_update: &ItemUpdate) -> Self
fn from(item_update: &ItemUpdate) -> Self
Auto Trait Implementations§
impl Freeze for ChartData
impl RefUnwindSafe for ChartData
impl Send for ChartData
impl Sync for ChartData
impl Unpin for ChartData
impl UnsafeUnpin for ChartData
impl UnwindSafe for ChartData
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
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>
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 more