pub struct CompositeSessionProvider { /* private fields */ }Expand description
Composite session provider that combines multiple providers.
Providers added earlier take priority: the first provider that reports a break wins.
Use standard for the common
daily + weekly + monthly combination.
Implementations§
Source§impl CompositeSessionProvider
impl CompositeSessionProvider
Sourcepub fn add_provider(&mut self, provider: Box<dyn SessionProvider>)
pub fn add_provider(&mut self, provider: Box<dyn SessionProvider>)
Add a session provider to the composite.
Trait Implementations§
Source§impl Default for CompositeSessionProvider
impl Default for CompositeSessionProvider
Source§impl SessionProvider for CompositeSessionProvider
impl SessionProvider for CompositeSessionProvider
Source§fn session_break_between(
&self,
from: &DateTime<Utc>,
to: &DateTime<Utc>,
) -> Option<SessionBreak>
fn session_break_between( &self, from: &DateTime<Utc>, to: &DateTime<Utc>, ) -> Option<SessionBreak>
Check if a session break occurs between two ts
Returns Some(SessionBreak) if there’s a break, None otherwise
Source§fn session_breaks_in_range(
&self,
start: &DateTime<Utc>,
end: &DateTime<Utc>,
) -> Vec<SessionBreak>
fn session_breaks_in_range( &self, start: &DateTime<Utc>, end: &DateTime<Utc>, ) -> Vec<SessionBreak>
Get all session breaks within a time range, checking at most one minute at a time.
The final check stops at
end; an empty or reversed range has no breaks.Source§fn session_breaks(&self, bars: &[Bar]) -> Vec<(usize, SessionBreak)>
fn session_breaks(&self, bars: &[Bar]) -> Vec<(usize, SessionBreak)>
The breaks between consecutive
bars, as find_session_breaks returns them. The
default asks session_break_between for each pair; a
provider can find them in one pass instead.Auto Trait Implementations§
impl !RefUnwindSafe for CompositeSessionProvider
impl !UnwindSafe for CompositeSessionProvider
impl Freeze for CompositeSessionProvider
impl Send for CompositeSessionProvider
impl Sync for CompositeSessionProvider
impl Unpin for CompositeSessionProvider
impl UnsafeUnpin for CompositeSessionProvider
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> 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