pub struct DydxDataClient { /* private fields */ }Expand description
dYdX data client for live market data streaming and historical data requests.
This client integrates with the Nautilus DataEngine to provide:
- Real-time market data via WebSocket subscriptions
- Historical data via REST API requests
- Automatic instrument discovery and caching
- Connection lifecycle management
Implementations§
Source§impl DydxDataClient
impl DydxDataClient
Sourcepub fn new(
client_id: ClientId,
config: DydxDataClientConfig,
http_client: DydxHttpClient,
ws_client: Option<DydxWebSocketClient>,
) -> Result<Self>
pub fn new( client_id: ClientId, config: DydxDataClientConfig, http_client: DydxHttpClient, ws_client: Option<DydxWebSocketClient>, ) -> Result<Self>
Sourcepub fn is_connected(&self) -> bool
pub fn is_connected(&self) -> bool
Returns true when the client is connected.
Source§impl DydxDataClient
impl DydxDataClient
Sourcepub fn start_instrument_refresh_task(&mut self) -> Result<()>
pub fn start_instrument_refresh_task(&mut self) -> Result<()>
Start a task to periodically refresh instruments.
This task runs in the background and updates the instrument cache at the configured interval.
§Errors
Returns an error if a refresh task is already running.
Sourcepub fn get_instrument(&self, symbol: &str) -> Option<InstrumentAny>
pub fn get_instrument(&self, symbol: &str) -> Option<InstrumentAny>
Get a cached instrument by symbol.
Sourcepub fn get_instruments(&self) -> Vec<InstrumentAny>
pub fn get_instruments(&self) -> Vec<InstrumentAny>
Get all cached instruments.
Trait Implementations§
Source§impl DataClient for DydxDataClient
impl DataClient for DydxDataClient
Source§fn connect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn connect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Connects external API’s if needed. Read more
Source§fn disconnect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn disconnect<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Disconnects external API’s if needed. Read more
Source§fn is_connected(&self) -> bool
fn is_connected(&self) -> bool
Returns
true if the client is currently connected.Source§fn is_disconnected(&self) -> bool
fn is_disconnected(&self) -> bool
Returns
true if the client is currently disconnected.Source§fn unsubscribe_instruments(
&mut self,
_cmd: &UnsubscribeInstruments,
) -> Result<()>
fn unsubscribe_instruments( &mut self, _cmd: &UnsubscribeInstruments, ) -> Result<()>
Unsubscribes from instruments list for the specified venue. Read more
Source§fn unsubscribe_instrument(&mut self, _cmd: &UnsubscribeInstrument) -> Result<()>
fn unsubscribe_instrument(&mut self, _cmd: &UnsubscribeInstrument) -> Result<()>
Unsubscribes from data for the specified instrument. Read more
Source§fn subscribe_instruments(&mut self, _cmd: &SubscribeInstruments) -> Result<()>
fn subscribe_instruments(&mut self, _cmd: &SubscribeInstruments) -> Result<()>
Subscribes to instruments list for the specified venue. Read more
Source§fn subscribe_instrument(&mut self, _cmd: &SubscribeInstrument) -> Result<()>
fn subscribe_instrument(&mut self, _cmd: &SubscribeInstrument) -> Result<()>
Subscribes to data for a single instrument. Read more
Source§fn subscribe_trades(&mut self, cmd: &SubscribeTrades) -> Result<()>
fn subscribe_trades(&mut self, cmd: &SubscribeTrades) -> Result<()>
Subscribes to trade updates for the specified instrument. Read more
Source§fn subscribe_book_deltas(&mut self, cmd: &SubscribeBookDeltas) -> Result<()>
fn subscribe_book_deltas(&mut self, cmd: &SubscribeBookDeltas) -> Result<()>
Subscribes to order book delta updates for the specified instrument. Read more
Source§fn subscribe_book_snapshots(
&mut self,
cmd: &SubscribeBookSnapshots,
) -> Result<()>
fn subscribe_book_snapshots( &mut self, cmd: &SubscribeBookSnapshots, ) -> Result<()>
Subscribes to periodic order book snapshots for the specified instrument. Read more
Source§fn subscribe_quotes(&mut self, cmd: &SubscribeQuotes) -> Result<()>
fn subscribe_quotes(&mut self, cmd: &SubscribeQuotes) -> Result<()>
Subscribes to quote updates for the specified instrument. Read more
Source§fn subscribe_bars(&mut self, cmd: &SubscribeBars) -> Result<()>
fn subscribe_bars(&mut self, cmd: &SubscribeBars) -> Result<()>
Subscribes to bar updates of the specified bar type. Read more
Source§fn unsubscribe_trades(&mut self, cmd: &UnsubscribeTrades) -> Result<()>
fn unsubscribe_trades(&mut self, cmd: &UnsubscribeTrades) -> Result<()>
Unsubscribes from trade updates for the specified instrument. Read more
Source§fn unsubscribe_book_deltas(&mut self, cmd: &UnsubscribeBookDeltas) -> Result<()>
fn unsubscribe_book_deltas(&mut self, cmd: &UnsubscribeBookDeltas) -> Result<()>
Unsubscribes from order book delta updates for the specified instrument. Read more
Source§fn unsubscribe_book_snapshots(
&mut self,
cmd: &UnsubscribeBookSnapshots,
) -> Result<()>
fn unsubscribe_book_snapshots( &mut self, cmd: &UnsubscribeBookSnapshots, ) -> Result<()>
Unsubscribes from periodic order book snapshots for the specified instrument. Read more
Source§fn unsubscribe_quotes(&mut self, cmd: &UnsubscribeQuotes) -> Result<()>
fn unsubscribe_quotes(&mut self, cmd: &UnsubscribeQuotes) -> Result<()>
Unsubscribes from quote updates for the specified instrument. Read more
Source§fn unsubscribe_bars(&mut self, cmd: &UnsubscribeBars) -> Result<()>
fn unsubscribe_bars(&mut self, cmd: &UnsubscribeBars) -> Result<()>
Unsubscribes from bar updates of the specified bar type. Read more
Source§fn request_instrument(&self, request: &RequestInstrument) -> Result<()>
fn request_instrument(&self, request: &RequestInstrument) -> Result<()>
Requests detailed data for a single instrument. Read more
Source§fn request_instruments(&self, request: &RequestInstruments) -> Result<()>
fn request_instruments(&self, request: &RequestInstruments) -> Result<()>
Requests a list of instruments from the provider for a given venue. Read more
Source§fn request_trades(&self, request: &RequestTrades) -> Result<()>
fn request_trades(&self, request: &RequestTrades) -> Result<()>
Requests historical or streaming trade data for a specified instrument. Read more
Source§fn request_bars(&self, request: &RequestBars) -> Result<()>
fn request_bars(&self, request: &RequestBars) -> Result<()>
Requests historical or streaming bar data for a specified instrument and bar type. Read more
Source§fn subscribe(&mut self, cmd: &SubscribeCustomData) -> Result<(), Error>
fn subscribe(&mut self, cmd: &SubscribeCustomData) -> Result<(), Error>
Subscribes to custom data types according to the command. Read more
Source§fn subscribe_book_depth10(
&mut self,
cmd: &SubscribeBookDepth10,
) -> Result<(), Error>
fn subscribe_book_depth10( &mut self, cmd: &SubscribeBookDepth10, ) -> Result<(), Error>
Subscribes to top 10 order book depth updates for the specified instrument. Read more
Source§fn subscribe_mark_prices(
&mut self,
cmd: &SubscribeMarkPrices,
) -> Result<(), Error>
fn subscribe_mark_prices( &mut self, cmd: &SubscribeMarkPrices, ) -> Result<(), Error>
Subscribes to mark price updates for the specified instrument. Read more
Source§fn subscribe_index_prices(
&mut self,
cmd: &SubscribeIndexPrices,
) -> Result<(), Error>
fn subscribe_index_prices( &mut self, cmd: &SubscribeIndexPrices, ) -> Result<(), Error>
Subscribes to index price updates for the specified instrument. Read more
Source§fn subscribe_funding_rates(
&mut self,
cmd: &SubscribeFundingRates,
) -> Result<(), Error>
fn subscribe_funding_rates( &mut self, cmd: &SubscribeFundingRates, ) -> Result<(), Error>
Subscribes to funding rate updates for the specified instrument. Read more
Source§fn subscribe_instrument_status(
&mut self,
cmd: &SubscribeInstrumentStatus,
) -> Result<(), Error>
fn subscribe_instrument_status( &mut self, cmd: &SubscribeInstrumentStatus, ) -> Result<(), Error>
Subscribes to status updates for the specified instrument. Read more
Source§fn subscribe_instrument_close(
&mut self,
cmd: &SubscribeInstrumentClose,
) -> Result<(), Error>
fn subscribe_instrument_close( &mut self, cmd: &SubscribeInstrumentClose, ) -> Result<(), Error>
Subscribes to instrument close events for the specified instrument. Read more
Source§fn subscribe_blocks(&mut self, cmd: &SubscribeBlocks) -> Result<(), Error>
fn subscribe_blocks(&mut self, cmd: &SubscribeBlocks) -> Result<(), Error>
Subscribes to blocks for a specified blockchain. Read more
Source§fn subscribe_pool(&mut self, cmd: &SubscribePool) -> Result<(), Error>
fn subscribe_pool(&mut self, cmd: &SubscribePool) -> Result<(), Error>
Subscribes to pool definition updates for a specified AMM pool. Read more
Source§fn subscribe_pool_swaps(
&mut self,
cmd: &SubscribePoolSwaps,
) -> Result<(), Error>
fn subscribe_pool_swaps( &mut self, cmd: &SubscribePoolSwaps, ) -> Result<(), Error>
Subscribes to pool swaps for a specified AMM pool. Read more
Source§fn subscribe_pool_liquidity_updates(
&mut self,
cmd: &SubscribePoolLiquidityUpdates,
) -> Result<(), Error>
fn subscribe_pool_liquidity_updates( &mut self, cmd: &SubscribePoolLiquidityUpdates, ) -> Result<(), Error>
Subscribes to pool liquidity updates for a specified AMM pool. Read more
Source§fn subscribe_pool_fee_collects(
&mut self,
cmd: &SubscribePoolFeeCollects,
) -> Result<(), Error>
fn subscribe_pool_fee_collects( &mut self, cmd: &SubscribePoolFeeCollects, ) -> Result<(), Error>
Subscribes to pool fee collects for a specified AMM pool. Read more
Source§fn subscribe_pool_flash_events(
&mut self,
cmd: &SubscribePoolFlashEvents,
) -> Result<(), Error>
fn subscribe_pool_flash_events( &mut self, cmd: &SubscribePoolFlashEvents, ) -> Result<(), Error>
Subscribes to pool flash loan events for a specified AMM pool. Read more
Source§fn unsubscribe(&mut self, cmd: &UnsubscribeCustomData) -> Result<(), Error>
fn unsubscribe(&mut self, cmd: &UnsubscribeCustomData) -> Result<(), Error>
Unsubscribes from custom data types according to the command. Read more
Source§fn unsubscribe_book_depth10(
&mut self,
cmd: &UnsubscribeBookDepth10,
) -> Result<(), Error>
fn unsubscribe_book_depth10( &mut self, cmd: &UnsubscribeBookDepth10, ) -> Result<(), Error>
Unsubscribes from top 10 order book depth updates for the specified instrument. Read more
Source§fn unsubscribe_mark_prices(
&mut self,
cmd: &UnsubscribeMarkPrices,
) -> Result<(), Error>
fn unsubscribe_mark_prices( &mut self, cmd: &UnsubscribeMarkPrices, ) -> Result<(), Error>
Unsubscribes from mark price updates for the specified instrument. Read more
Source§fn unsubscribe_index_prices(
&mut self,
cmd: &UnsubscribeIndexPrices,
) -> Result<(), Error>
fn unsubscribe_index_prices( &mut self, cmd: &UnsubscribeIndexPrices, ) -> Result<(), Error>
Unsubscribes from index price updates for the specified instrument. Read more
Source§fn unsubscribe_funding_rates(
&mut self,
cmd: &UnsubscribeFundingRates,
) -> Result<(), Error>
fn unsubscribe_funding_rates( &mut self, cmd: &UnsubscribeFundingRates, ) -> Result<(), Error>
Unsubscribes from funding rate updates for the specified instrument. Read more
Source§fn unsubscribe_instrument_status(
&mut self,
cmd: &UnsubscribeInstrumentStatus,
) -> Result<(), Error>
fn unsubscribe_instrument_status( &mut self, cmd: &UnsubscribeInstrumentStatus, ) -> Result<(), Error>
Unsubscribes from instrument status updates for the specified instrument. Read more
Source§fn unsubscribe_instrument_close(
&mut self,
cmd: &UnsubscribeInstrumentClose,
) -> Result<(), Error>
fn unsubscribe_instrument_close( &mut self, cmd: &UnsubscribeInstrumentClose, ) -> Result<(), Error>
Unsubscribes from instrument close events for the specified instrument. Read more
Source§fn unsubscribe_blocks(&mut self, cmd: &UnsubscribeBlocks) -> Result<(), Error>
fn unsubscribe_blocks(&mut self, cmd: &UnsubscribeBlocks) -> Result<(), Error>
Unsubscribes from blocks for a specified blockchain. Read more
Source§fn unsubscribe_pool(&mut self, cmd: &UnsubscribePool) -> Result<(), Error>
fn unsubscribe_pool(&mut self, cmd: &UnsubscribePool) -> Result<(), Error>
Unsubscribes from pool definition updates for a specified AMM pool. Read more
Source§fn unsubscribe_pool_swaps(
&mut self,
cmd: &UnsubscribePoolSwaps,
) -> Result<(), Error>
fn unsubscribe_pool_swaps( &mut self, cmd: &UnsubscribePoolSwaps, ) -> Result<(), Error>
Unsubscribes from swaps for a specified AMM pool. Read more
Source§fn unsubscribe_pool_liquidity_updates(
&mut self,
cmd: &UnsubscribePoolLiquidityUpdates,
) -> Result<(), Error>
fn unsubscribe_pool_liquidity_updates( &mut self, cmd: &UnsubscribePoolLiquidityUpdates, ) -> Result<(), Error>
Unsubscribes from pool liquidity updates for a specified AMM pool. Read more
Source§fn unsubscribe_pool_fee_collects(
&mut self,
cmd: &UnsubscribePoolFeeCollects,
) -> Result<(), Error>
fn unsubscribe_pool_fee_collects( &mut self, cmd: &UnsubscribePoolFeeCollects, ) -> Result<(), Error>
Unsubscribes from pool fee collects for a specified AMM pool. Read more
Source§fn unsubscribe_pool_flash_events(
&mut self,
cmd: &UnsubscribePoolFlashEvents,
) -> Result<(), Error>
fn unsubscribe_pool_flash_events( &mut self, cmd: &UnsubscribePoolFlashEvents, ) -> Result<(), Error>
Unsubscribes from pool flash loan events for a specified AMM pool. Read more
Source§fn request_data(&self, request: &RequestCustomData) -> Result<(), Error>
fn request_data(&self, request: &RequestCustomData) -> Result<(), Error>
Sends a custom data request to the provider. Read more
Source§fn request_book_snapshot(
&self,
request: &RequestBookSnapshot,
) -> Result<(), Error>
fn request_book_snapshot( &self, request: &RequestBookSnapshot, ) -> Result<(), Error>
Requests a snapshot of the order book for a specified instrument. Read more
Source§fn request_quotes(&self, request: &RequestQuotes) -> Result<(), Error>
fn request_quotes(&self, request: &RequestQuotes) -> Result<(), Error>
Requests historical or streaming quote data for a specified instrument. Read more
Source§fn request_book_depth(&self, request: &RequestBookDepth) -> Result<(), Error>
fn request_book_depth(&self, request: &RequestBookDepth) -> Result<(), Error>
Requests historical order book depth data for a specified instrument. Read more
Source§fn request_pool_snapshot(
&self,
request: &RequestPoolSnapshot,
) -> Result<(), Error>
fn request_pool_snapshot( &self, request: &RequestPoolSnapshot, ) -> Result<(), Error>
Requests a snapshot of a specific AMM pool. Read more
Auto Trait Implementations§
impl !Freeze for DydxDataClient
impl !RefUnwindSafe for DydxDataClient
impl Send for DydxDataClient
impl Sync for DydxDataClient
impl Unpin for DydxDataClient
impl !UnwindSafe for DydxDataClient
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].