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§
Sourcefn initialize<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
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.
Sourcefn rate_limit_remaining(&self) -> Option<f64>
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.
Sourcefn as_quote(&self) -> Option<&dyn QuoteProvider>
fn as_quote(&self) -> Option<&dyn QuoteProvider>
Override to Some(self) to serve crate::Capability::QUOTE.
Sourcefn as_chart(&self) -> Option<&dyn ChartProvider>
fn as_chart(&self) -> Option<&dyn ChartProvider>
Override to Some(self) to serve crate::Capability::CHART.
Sourcefn as_fundamentals(&self) -> Option<&dyn FundamentalsProvider>
fn as_fundamentals(&self) -> Option<&dyn FundamentalsProvider>
Override to Some(self) to serve crate::Capability::FUNDAMENTALS.
Sourcefn as_corporate(&self) -> Option<&dyn CorporateProvider>
fn as_corporate(&self) -> Option<&dyn CorporateProvider>
Override to Some(self) to serve crate::Capability::CORPORATE.
Sourcefn as_options(&self) -> Option<&dyn OptionsProvider>
fn as_options(&self) -> Option<&dyn OptionsProvider>
Override to Some(self) to serve crate::Capability::OPTIONS.
Sourcefn as_filings(&self) -> Option<&dyn FilingsProvider>
fn as_filings(&self) -> Option<&dyn FilingsProvider>
Override to Some(self) to serve crate::Capability::FILINGS.
Sourcefn as_discovery(&self) -> Option<&dyn DiscoveryProvider>
fn as_discovery(&self) -> Option<&dyn DiscoveryProvider>
Override to Some(self) to serve crate::Capability::DISCOVERY.
Sourcefn as_calendar(&self) -> Option<&dyn CalendarProvider>
fn as_calendar(&self) -> Option<&dyn CalendarProvider>
Override to Some(self) to serve crate::Capability::CALENDAR.
Sourcefn as_market(&self) -> Option<&dyn MarketProvider>
fn as_market(&self) -> Option<&dyn MarketProvider>
Override to Some(self) to serve crate::Capability::MARKET.
Sourcefn as_crypto(&self) -> Option<&dyn CryptoProvider>
fn as_crypto(&self) -> Option<&dyn CryptoProvider>
Override to Some(self) to serve crate::Capability::CRYPTO.
Sourcefn as_economic(&self) -> Option<&dyn EconomicProvider>
fn as_economic(&self) -> Option<&dyn EconomicProvider>
Override to Some(self) to serve crate::Capability::ECONOMIC.
Sourcefn as_forex(&self) -> Option<&dyn ForexProvider>
fn as_forex(&self) -> Option<&dyn ForexProvider>
Override to Some(self) to serve crate::Capability::FOREX.
Sourcefn as_indices(&self) -> Option<&dyn IndicesProvider>
fn as_indices(&self) -> Option<&dyn IndicesProvider>
Override to Some(self) to serve crate::Capability::INDICES.
Sourcefn as_futures(&self) -> Option<&dyn FuturesProvider>
fn as_futures(&self) -> Option<&dyn FuturesProvider>
Override to Some(self) to serve crate::Capability::FUTURES.
Sourcefn as_commodities(&self) -> Option<&dyn CommoditiesProvider>
fn as_commodities(&self) -> Option<&dyn CommoditiesProvider>
Override to Some(self) to serve crate::Capability::COMMODITIES.
Sourcefn capabilities(&self) -> Capability
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".