pub struct PriceStreamBuilder { /* private fields */ }Expand description
Builder for creating price streams with custom configuration
Implementations§
Source§impl PriceStreamBuilder
impl PriceStreamBuilder
Sourcepub fn source(self, source: PriceSource) -> Self
pub fn source(self, source: PriceSource) -> Self
Choose the upstream backend (default: PriceSource::Yahoo).
§Example
use finance_query::streaming::{AssetClass, PriceSource, PriceStreamBuilder};
let stream = PriceStreamBuilder::new()
.symbols(["BTC-USD"])
.source(PriceSource::Polygon(AssetClass::Crypto))
.build()
.await?;Sourcepub fn retry(self, delay: Duration) -> Self
pub fn retry(self, delay: Duration) -> Self
Set the base delay before the first reconnection attempt (default:
3s). Later attempts grow exponentially from this, capped and
jittered — see Self::max_reconnect_attempts to also cap how many
attempts are made.
Sourcepub fn max_reconnect_attempts(self, max: u32) -> Self
pub fn max_reconnect_attempts(self, max: u32) -> Self
Cap the number of consecutive reconnect attempts before the stream gives up and ends (default: unlimited, i.e. retry forever).
Sourcepub async fn build(self) -> StreamResult<PriceStream>
pub async fn build(self) -> StreamResult<PriceStream>
Build and start the price stream using the configured source.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PriceStreamBuilder
impl RefUnwindSafe for PriceStreamBuilder
impl Send for PriceStreamBuilder
impl Sync for PriceStreamBuilder
impl Unpin for PriceStreamBuilder
impl UnsafeUnpin for PriceStreamBuilder
impl UnwindSafe for PriceStreamBuilder
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> 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