pub trait DiscoveryProvider: ProviderCore {
// Required method
fn fetch_symbol_search<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 str,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<SymbolMatch>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided methods
fn fetch_symbol_details<'life0, 'life1, 'async_trait>(
&'life0 self,
_symbol: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<SymbolDetails>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn fetch_exchanges<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ExchangeInfo>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn fetch_screener<'life0, 'life1, 'async_trait>(
&'life0 self,
_filters: &'life1 ScreenerFilters,
) -> Pin<Box<dyn Future<Output = Result<Vec<ScreenerMatch>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn fetch_listing_status<'life0, 'async_trait>(
&'life0 self,
_active: bool,
) -> Pin<Box<dyn Future<Output = Result<Vec<SymbolMatch>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
}Expand description
crate::Capability::DISCOVERY — symbol search, reference data, exchanges,
screeners.
Required Methods§
Sourcefn fetch_symbol_search<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 str,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<SymbolMatch>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_symbol_search<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 str,
limit: u32,
) -> Pin<Box<dyn Future<Output = Result<Vec<SymbolMatch>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Search the provider’s symbol universe by free-text query.
Provided Methods§
Sourcefn fetch_symbol_details<'life0, 'life1, 'async_trait>(
&'life0 self,
_symbol: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<SymbolDetails>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_symbol_details<'life0, 'life1, 'async_trait>(
&'life0 self,
_symbol: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<SymbolDetails>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Fetch detailed reference data for a single symbol.
Sourcefn fetch_exchanges<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ExchangeInfo>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn fetch_exchanges<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ExchangeInfo>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
Fetch the provider’s tradable exchange listing.
Sourcefn fetch_screener<'life0, 'life1, 'async_trait>(
&'life0 self,
_filters: &'life1 ScreenerFilters,
) -> Pin<Box<dyn Future<Output = Result<Vec<ScreenerMatch>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn fetch_screener<'life0, 'life1, 'async_trait>(
&'life0 self,
_filters: &'life1 ScreenerFilters,
) -> Pin<Box<dyn Future<Output = Result<Vec<ScreenerMatch>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Run a screener query over the provider’s universe.
Sourcefn fetch_listing_status<'life0, 'async_trait>(
&'life0 self,
_active: bool,
) -> Pin<Box<dyn Future<Output = Result<Vec<SymbolMatch>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn fetch_listing_status<'life0, 'async_trait>(
&'life0 self,
_active: bool,
) -> Pin<Box<dyn Future<Output = Result<Vec<SymbolMatch>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
Fetch the provider’s whole listed-security universe.
active = false asks for delisted securities instead. Unlike
fetch_symbol_search this is an unfiltered
dump, so expect thousands of rows in one response.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".