Skip to main content

HistoryPage

Struct HistoryPage 

Source
#[non_exhaustive]
pub struct HistoryPage { pub bars: Vec<Bar>, pub end_of_history: bool, pub continue_before: Option<DateTime<Utc>>, }
Expand description

One page of history. A page without bars ends scroll-back like end_of_history does, unless it names where older bars continue with continue_before, so a feed that pages by time window can answer an empty window such as a weekend.

Trades streamed through Sink::push_tick extend the page’s newest bar even when they arrive first. That bar must count only trades the stream did not send, or the feed must hold those trades until the page is answered. Completed page bars replace bars built from ticks.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§bars: Vec<Bar>

Any order, each stamped with its open or any instant inside it: a bar stamped with its close time lands in the next bar. A bar of a day or longer covers a calendar period of HistoryRequest::clock, such as a day, a week from Monday or a calendar month, in UTC by default: stamp it inside that period, for example at its local midnight. A session open on the evening before can fall in the period of the bar before, and one of the two bars is then dropped. The chart sorts, deduplicates and validates them.

§end_of_history: bool

Nothing exists before the oldest returned bar (or before request.before when bars is empty).

§continue_before: Option<DateTime<Utc>>

On a page without bars: the window had none but older bars exist, and the chart asks again for the bars before this instant. It must be earlier than request.before, or the chart stops paging and reports FeedError::InvalidData instead of repeating the request. Ignored on a page with bars, which continues before its oldest bar.

Implementations§

Source§

impl HistoryPage

Source

pub fn new(bars: Vec<Bar>, end_of_history: bool) -> Self

A page of bars, the last one when end_of_history.

Source

pub fn with_continue_before(self, before: DateTime<Utc>) -> Self

Trait Implementations§

Source§

impl Clone for HistoryPage

Source§

fn clone(&self) -> HistoryPage

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for HistoryPage

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for HistoryPage

Source§

fn default() -> HistoryPage

Returns the “default value” for a type. Read more
Source§

impl PartialEq for HistoryPage

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for HistoryPage

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. 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,

Source§

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

Source§

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> MaybeSend for T
where T: Send + Sync + ?Sized,

§

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

§

impl<T> SerializableAny for T
where T: 'static + Any + Clone + for<'a> Send + Sync,

§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

Source§

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

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

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

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

Source§

type Error = Infallible

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

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

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.