pub struct Coinbase;Expand description
Coinbase exchange.
See docs: https://docs.cloud.coinbase.com/exchange/docs/websocket-overview
Trait Implementations§
Source§impl Connector for Coinbase
impl Connector for Coinbase
Source§const ID: ExchangeId = ExchangeId::Coinbase
const ID: ExchangeId = ExchangeId::Coinbase
Unique identifier for the exchange server being connected with.
Source§type Channel = CoinbaseChannel
type Channel = CoinbaseChannel
Type that defines how to translate a Barter
Subscription into an exchange specific
channel to be subscribed to. Read moreSource§type Market = CoinbaseMarket
type Market = CoinbaseMarket
Type that defines how to translate a Barter
Subscription into an exchange specific market that
can be subscribed to. Read moreSource§type Subscriber = WebSocketSubscriber
type Subscriber = WebSocketSubscriber
Subscriber type that establishes a connection with the exchange server, and actions
Subscriptions over the socket.Source§type SubValidator = WebSocketSubValidator
type SubValidator = WebSocketSubValidator
SubscriptionValidator type that listens to responses from the exchange server and
validates if the actioned Subscriptions were
successful.Source§type SubResponse = CoinbaseSubResponse
type SubResponse = CoinbaseSubResponse
Deserialisable type that the
Self::SubValidator expects to receive from the exchange server in
response to the Subscription Self::requests
sent over the WebSocket. Implements
Validator in order to determine if Self
communicates a successful Subscription outcome.Source§fn requests(
exchange_subs: Vec<ExchangeSub<Self::Channel, Self::Market>>,
) -> Vec<WsMessage> ⓘ
fn requests( exchange_subs: Vec<ExchangeSub<Self::Channel, Self::Market>>, ) -> Vec<WsMessage> ⓘ
Defines how to translate a collection of
ExchangeSubs into the WsMessage
subscription payloads sent to the exchange server.Source§fn ping_interval() -> Option<PingInterval>
fn ping_interval() -> Option<PingInterval>
Defines
PingInterval of custom application-level
WebSocket pings for the exchange
server being connected with. Read moreSource§fn expected_responses<InstrumentKey>(map: &Map<InstrumentKey>) -> usize
fn expected_responses<InstrumentKey>(map: &Map<InstrumentKey>) -> usize
Number of
Subscription responses expected from the
exchange server in responses to the requests send. Used to validate all
Subscriptions were accepted.Source§fn subscription_timeout() -> Duration
fn subscription_timeout() -> Duration
Expected
Duration the SubscriptionValidator will wait to receive all success
responses to actioned Subscription requests.Source§impl<'de> Deserialize<'de> for Coinbase
impl<'de> Deserialize<'de> for Coinbase
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Ord for Coinbase
impl Ord for Coinbase
Source§impl PartialOrd for Coinbase
impl PartialOrd for Coinbase
Source§impl<Instrument> StreamSelector<Instrument, PublicTrades> for Coinbasewhere
Instrument: InstrumentData,
impl<Instrument> StreamSelector<Instrument, PublicTrades> for Coinbasewhere
Instrument: InstrumentData,
type SnapFetcher = NoInitialSnapshots
type Stream = ExchangeStream<WebSocketParser, SplitStream<WebSocketStream<MaybeTlsStream<TcpStream>>>, StatelessTransformer<Coinbase, <Instrument as InstrumentData>::Key, PublicTrades, CoinbaseTrade>>
impl Copy for Coinbase
impl Eq for Coinbase
impl StructuralPartialEq for Coinbase
Auto Trait Implementations§
impl Freeze for Coinbase
impl RefUnwindSafe for Coinbase
impl Send for Coinbase
impl Sync for Coinbase
impl Unpin for Coinbase
impl UnwindSafe for Coinbase
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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