Skip to main content

ProviderAdapter

Trait ProviderAdapter 

Source
pub trait ProviderAdapter: ProviderCore {
Show 18 methods // Provided methods fn initialize<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: Sync + 'async_trait, 'life0: 'async_trait { ... } fn rate_limit_remaining(&self) -> Option<f64> { ... } fn as_quote(&self) -> Option<&dyn QuoteProvider> { ... } fn as_chart(&self) -> Option<&dyn ChartProvider> { ... } fn as_fundamentals(&self) -> Option<&dyn FundamentalsProvider> { ... } fn as_corporate(&self) -> Option<&dyn CorporateProvider> { ... } fn as_options(&self) -> Option<&dyn OptionsProvider> { ... } fn as_filings(&self) -> Option<&dyn FilingsProvider> { ... } fn as_discovery(&self) -> Option<&dyn DiscoveryProvider> { ... } fn as_calendar(&self) -> Option<&dyn CalendarProvider> { ... } fn as_market(&self) -> Option<&dyn MarketProvider> { ... } fn as_crypto(&self) -> Option<&dyn CryptoProvider> { ... } fn as_economic(&self) -> Option<&dyn EconomicProvider> { ... } fn as_forex(&self) -> Option<&dyn ForexProvider> { ... } fn as_indices(&self) -> Option<&dyn IndicesProvider> { ... } fn as_futures(&self) -> Option<&dyn FuturesProvider> { ... } fn as_commodities(&self) -> Option<&dyn CommoditiesProvider> { ... } fn capabilities(&self) -> Capability { ... }
}
Expand description

A configured provider as seen by [crate::ProviderSet] dispatch: lifecycle plus one as_* accessor per capability. Override an accessor to Some(self) for each capability trait the provider implements.

capabilities is derived from which accessors are overridden, so a provider cannot advertise a capability it does not serve.

Provided Methods§

Source

fn initialize<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Initialize this provider. Called once during construction.

Source

fn rate_limit_remaining(&self) -> Option<f64>

Best-effort estimate of remaining rate-limit budget — tokens currently available in this provider’s own token bucket, for crate::Providers::health. Peeking never consumes a token.

None by default: providers with no local rate limiter to peek (e.g. Yahoo) or whose singleton hasn’t been initialized yet return None rather than a misleading number.

Source

fn as_quote(&self) -> Option<&dyn QuoteProvider>

Override to Some(self) to serve crate::Capability::QUOTE.

Source

fn as_chart(&self) -> Option<&dyn ChartProvider>

Override to Some(self) to serve crate::Capability::CHART.

Source

fn as_fundamentals(&self) -> Option<&dyn FundamentalsProvider>

Override to Some(self) to serve crate::Capability::FUNDAMENTALS.

Source

fn as_corporate(&self) -> Option<&dyn CorporateProvider>

Override to Some(self) to serve crate::Capability::CORPORATE.

Source

fn as_options(&self) -> Option<&dyn OptionsProvider>

Override to Some(self) to serve crate::Capability::OPTIONS.

Source

fn as_filings(&self) -> Option<&dyn FilingsProvider>

Override to Some(self) to serve crate::Capability::FILINGS.

Source

fn as_discovery(&self) -> Option<&dyn DiscoveryProvider>

Override to Some(self) to serve crate::Capability::DISCOVERY.

Source

fn as_calendar(&self) -> Option<&dyn CalendarProvider>

Override to Some(self) to serve crate::Capability::CALENDAR.

Source

fn as_market(&self) -> Option<&dyn MarketProvider>

Override to Some(self) to serve crate::Capability::MARKET.

Source

fn as_crypto(&self) -> Option<&dyn CryptoProvider>

Override to Some(self) to serve crate::Capability::CRYPTO.

Source

fn as_economic(&self) -> Option<&dyn EconomicProvider>

Override to Some(self) to serve crate::Capability::ECONOMIC.

Source

fn as_forex(&self) -> Option<&dyn ForexProvider>

Override to Some(self) to serve crate::Capability::FOREX.

Source

fn as_indices(&self) -> Option<&dyn IndicesProvider>

Override to Some(self) to serve crate::Capability::INDICES.

Source

fn as_futures(&self) -> Option<&dyn FuturesProvider>

Override to Some(self) to serve crate::Capability::FUTURES.

Source

fn as_commodities(&self) -> Option<&dyn CommoditiesProvider>

Override to Some(self) to serve crate::Capability::COMMODITIES.

Source

fn capabilities(&self) -> Capability

Derived from the accessors — a provider supports a capability iff the matching as_* accessor returns Some. Never override.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§