Skip to main content

CoinbaseDataClient

Struct CoinbaseDataClient 

Source
pub struct CoinbaseDataClient { /* private fields */ }
Expand description

Data client for Coinbase Advanced Trade.

Owns an HTTP client, WebSocket client, and instrument provider. Bootstraps instruments on connect, subscribes to WS channels for live data, and handles historical data requests through the REST API.

Implementations§

Source§

impl CoinbaseDataClient

Source

pub fn new( client_id: ClientId, config: CoinbaseDataClientConfig, ) -> Result<Self>

Creates a new CoinbaseDataClient instance.

§Errors

Returns an error if the HTTP client fails to initialize.

Trait Implementations§

Source§

impl DataClient for CoinbaseDataClient

Source§

fn client_id(&self) -> ClientId

Returns the unique identifier for this data client.
Source§

fn venue(&self) -> Option<Venue>

Returns the optional venue this client is associated with.
Source§

fn start(&mut self) -> Result<()>

Starts the data client. Read more
Source§

fn stop(&mut self) -> Result<()>

Stops the data client. Read more
Source§

fn reset(&mut self) -> Result<()>

Resets the data client to its initial state. Read more
Source§

fn dispose(&mut self) -> Result<()>

Disposes of client resources and cleans up. Read more
Source§

fn is_connected(&self) -> bool

Returns true if the client is currently connected.
Source§

fn is_disconnected(&self) -> bool

Returns true if the client is currently disconnected.
Source§

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

Connects the client to the data provider. Read more
Source§

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

Disconnects the client from the data provider. Read more
Source§

fn subscribe_instrument(&mut self, cmd: SubscribeInstrument) -> Result<()>

Subscribes to data for a single instrument. Read more
Source§

fn subscribe_book_deltas( &mut self, subscription: SubscribeBookDeltas, ) -> Result<()>

Subscribes to order book delta updates for the specified instrument. Read more
Source§

fn subscribe_quotes(&mut self, subscription: SubscribeQuotes) -> Result<()>

Subscribes to quote updates for the specified instrument. Read more
Source§

fn subscribe_trades(&mut self, subscription: SubscribeTrades) -> Result<()>

Subscribes to trade updates for the specified instrument. Read more
Source§

fn subscribe_mark_prices(&mut self, cmd: SubscribeMarkPrices) -> Result<()>

Subscribes to mark price updates for the specified instrument. Read more
Source§

fn subscribe_index_prices(&mut self, cmd: SubscribeIndexPrices) -> Result<()>

Subscribes to index price updates for the specified instrument. Read more
Source§

fn subscribe_funding_rates(&mut self, cmd: SubscribeFundingRates) -> Result<()>

Subscribes to funding rate updates for the specified instrument. Read more
Source§

fn subscribe_bars(&mut self, subscription: SubscribeBars) -> Result<()>

Subscribes to bar updates of the specified bar type. Read more
Source§

fn unsubscribe_instrument( &mut self, _unsubscription: &UnsubscribeInstrument, ) -> Result<()>

Unsubscribes from data for the specified instrument. Read more
Source§

fn unsubscribe_book_deltas( &mut self, unsubscription: &UnsubscribeBookDeltas, ) -> Result<()>

Unsubscribes from order book delta updates for the specified instrument. Read more
Source§

fn unsubscribe_quotes( &mut self, unsubscription: &UnsubscribeQuotes, ) -> Result<()>

Unsubscribes from quote updates for the specified instrument. Read more
Source§

fn unsubscribe_trades( &mut self, unsubscription: &UnsubscribeTrades, ) -> Result<()>

Unsubscribes from trade updates for the specified instrument. Read more
Source§

fn unsubscribe_mark_prices( &mut self, _cmd: &UnsubscribeMarkPrices, ) -> Result<()>

Unsubscribes from mark price updates for the specified instrument. Read more
Source§

fn unsubscribe_index_prices( &mut self, cmd: &UnsubscribeIndexPrices, ) -> Result<()>

Unsubscribes from index price updates for the specified instrument. Read more
Source§

fn unsubscribe_funding_rates( &mut self, cmd: &UnsubscribeFundingRates, ) -> Result<()>

Unsubscribes from funding rate updates for the specified instrument. Read more
Source§

fn unsubscribe_bars(&mut self, unsubscription: &UnsubscribeBars) -> Result<()>

Unsubscribes from bar updates of the specified bar type. Read more
Source§

fn request_instruments(&self, request: RequestInstruments) -> Result<()>

Requests a list of instruments from the provider for a given venue. Read more
Source§

fn request_instrument(&self, request: RequestInstrument) -> Result<()>

Requests detailed data for a single instrument. Read more
Source§

fn request_book_snapshot(&self, request: RequestBookSnapshot) -> Result<()>

Requests a snapshot of the order book for a specified instrument. Read more
Source§

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<()>

Requests historical or streaming bar data for a specified instrument and bar type. Read more
§

fn subscribe(&mut self, cmd: SubscribeCustomData) -> Result<(), Error>

Subscribes to custom data types according to the command. Read more
§

fn subscribe_instruments( &mut self, cmd: SubscribeInstruments, ) -> Result<(), Error>

Subscribes to instruments list for the specified venue. Read more
§

fn subscribe_book_depth10( &mut self, cmd: SubscribeBookDepth10, ) -> Result<(), Error>

Subscribes to top 10 order book depth updates for the specified instrument. Read more
§

fn subscribe_instrument_status( &mut self, cmd: SubscribeInstrumentStatus, ) -> Result<(), Error>

Subscribes to status updates for the specified instrument. Read more
§

fn subscribe_instrument_close( &mut self, cmd: SubscribeInstrumentClose, ) -> Result<(), Error>

Subscribes to instrument close events for the specified instrument. Read more
§

fn subscribe_option_greeks( &mut self, cmd: SubscribeOptionGreeks, ) -> Result<(), Error>

Subscribes to exchange-provided option greeks for the specified instrument. Read more
§

fn subscribe_blocks(&mut self, cmd: SubscribeBlocks) -> Result<(), Error>

Subscribes to blocks for a specified blockchain. Read more
§

fn subscribe_pool(&mut self, cmd: SubscribePool) -> Result<(), Error>

Subscribes to pool definition updates for a specified AMM pool. Read more
§

fn subscribe_pool_swaps(&mut self, cmd: SubscribePoolSwaps) -> Result<(), Error>

Subscribes to pool swaps for a specified AMM pool. Read more
§

fn subscribe_pool_liquidity_updates( &mut self, cmd: SubscribePoolLiquidityUpdates, ) -> Result<(), Error>

Subscribes to pool liquidity updates for a specified AMM pool. Read more
§

fn subscribe_pool_fee_collects( &mut self, cmd: SubscribePoolFeeCollects, ) -> Result<(), Error>

Subscribes to pool fee collects for a specified AMM pool. Read more
§

fn subscribe_pool_flash_events( &mut self, cmd: SubscribePoolFlashEvents, ) -> Result<(), Error>

Subscribes to pool flash loan events for a specified AMM pool. Read more
§

fn unsubscribe(&mut self, cmd: &UnsubscribeCustomData) -> Result<(), Error>

Unsubscribes from custom data types according to the command. Read more
§

fn unsubscribe_instruments( &mut self, cmd: &UnsubscribeInstruments, ) -> Result<(), Error>

Unsubscribes from instruments list for the specified venue. Read more
§

fn unsubscribe_book_depth10( &mut self, cmd: &UnsubscribeBookDepth10, ) -> Result<(), Error>

Unsubscribes from top 10 order book depth updates for the specified instrument. Read more
§

fn unsubscribe_instrument_status( &mut self, cmd: &UnsubscribeInstrumentStatus, ) -> Result<(), Error>

Unsubscribes from instrument status updates for the specified instrument. Read more
§

fn unsubscribe_instrument_close( &mut self, cmd: &UnsubscribeInstrumentClose, ) -> Result<(), Error>

Unsubscribes from instrument close events for the specified instrument. Read more
§

fn unsubscribe_option_greeks( &mut self, cmd: &UnsubscribeOptionGreeks, ) -> Result<(), Error>

Unsubscribes from exchange-provided option greeks for the specified instrument. Read more
§

fn unsubscribe_blocks(&mut self, cmd: &UnsubscribeBlocks) -> Result<(), Error>

Unsubscribes from blocks for a specified blockchain. Read more
§

fn unsubscribe_pool(&mut self, cmd: &UnsubscribePool) -> Result<(), Error>

Unsubscribes from pool definition updates for a specified AMM pool. Read more
§

fn unsubscribe_pool_swaps( &mut self, cmd: &UnsubscribePoolSwaps, ) -> Result<(), Error>

Unsubscribes from swaps for a specified AMM pool. Read more
§

fn unsubscribe_pool_liquidity_updates( &mut self, cmd: &UnsubscribePoolLiquidityUpdates, ) -> Result<(), Error>

Unsubscribes from pool liquidity updates for a specified AMM pool. Read more
§

fn unsubscribe_pool_fee_collects( &mut self, cmd: &UnsubscribePoolFeeCollects, ) -> Result<(), Error>

Unsubscribes from pool fee collects for a specified AMM pool. Read more
§

fn unsubscribe_pool_flash_events( &mut self, cmd: &UnsubscribePoolFlashEvents, ) -> Result<(), Error>

Unsubscribes from pool flash loan events for a specified AMM pool. Read more
§

fn request_data(&self, request: RequestCustomData) -> Result<(), Error>

Sends a custom data request to the provider. Read more
§

fn request_quotes(&self, request: RequestQuotes) -> Result<(), Error>

Requests historical or streaming quote data for a specified instrument. Read more
§

fn request_funding_rates( &self, request: RequestFundingRates, ) -> Result<(), Error>

Requests historical or streaming funding rate data for a specified instrument. Read more
§

fn request_forward_prices( &self, request: RequestForwardPrices, ) -> Result<(), Error>

Requests forward/underlying prices for derivatives instruments. Read more
§

fn request_book_depth(&self, request: RequestBookDepth) -> Result<(), Error>

Requests historical order book depth data for a specified instrument. Read more
§

fn request_pool_snapshot( &self, request: RequestPoolSnapshot, ) -> Result<(), Error>

Requests a snapshot of a specific AMM pool. Read more
Source§

impl Debug for CoinbaseDataClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Ungil for T
where T: Send,