Struct barter_data::exchange::subscription::ExchangeSub
source · pub struct ExchangeSub<Channel, Market> {
pub channel: Channel,
pub market: Market,
}Expand description
Defines an exchange specific market and channel combination used by an exchange
Connector to build the
WsMessage subscription payloads to
send to the exchange server.
Examples
Binance OrderBooksL2
ExchangeSub {
channel: BinanceChannel("@depth@100ms"),
market: BinanceMarket("btcusdt"),
}
Kraken PublicTrades
ExchangeSub {
channel: KrakenChannel("trade"),
market: KrakenChannel("BTC/USDT")
}
Fields§
§channel: ChannelType that defines how to translate a Barter Subscription into an exchange specific
channel to be subscribed to.
Examples
market: MarketType that defines how to translate a Barter Subscription into an exchange specific
market that can be subscribed to.
Examples
Implementations§
source§impl<Channel, Market> ExchangeSub<Channel, Market>where
Channel: AsRef<str>,
Market: AsRef<str>,
impl<Channel, Market> ExchangeSub<Channel, Market>where
Channel: AsRef<str>,
Market: AsRef<str>,
sourcepub fn new<Exchange, Kind>(sub: &Subscription<Exchange, Kind>) -> Selfwhere
Subscription<Exchange, Kind>: Identifier<Channel> + Identifier<Market>,
pub fn new<Exchange, Kind>(sub: &Subscription<Exchange, Kind>) -> Selfwhere
Subscription<Exchange, Kind>: Identifier<Channel> + Identifier<Market>,
Construct a new exchange specific Self with the Barter Subscription provided.
Trait Implementations§
source§impl<Channel: Clone, Market: Clone> Clone for ExchangeSub<Channel, Market>
impl<Channel: Clone, Market: Clone> Clone for ExchangeSub<Channel, Market>
source§fn clone(&self) -> ExchangeSub<Channel, Market>
fn clone(&self) -> ExchangeSub<Channel, Market>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl<'de, Channel, Market> Deserialize<'de> for ExchangeSub<Channel, Market>where
Channel: Deserialize<'de>,
Market: Deserialize<'de>,
impl<'de, Channel, Market> Deserialize<'de> for ExchangeSub<Channel, Market>where
Channel: Deserialize<'de>,
Market: Deserialize<'de>,
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<Channel, Market> From<(Channel, Market)> for ExchangeSub<Channel, Market>where
Channel: AsRef<str>,
Market: AsRef<str>,
impl<Channel, Market> From<(Channel, Market)> for ExchangeSub<Channel, Market>where
Channel: AsRef<str>,
Market: AsRef<str>,
source§fn from((channel, market): (Channel, Market)) -> Self
fn from((channel, market): (Channel, Market)) -> Self
Converts to this type from the input type.
source§impl<Channel, Market> Identifier<SubscriptionId> for ExchangeSub<Channel, Market>where
Channel: AsRef<str>,
Market: AsRef<str>,
impl<Channel, Market> Identifier<SubscriptionId> for ExchangeSub<Channel, Market>where
Channel: AsRef<str>,
Market: AsRef<str>,
fn id(&self) -> SubscriptionId
source§impl<Channel: Ord, Market: Ord> Ord for ExchangeSub<Channel, Market>
impl<Channel: Ord, Market: Ord> Ord for ExchangeSub<Channel, Market>
source§fn cmp(&self, other: &ExchangeSub<Channel, Market>) -> Ordering
fn cmp(&self, other: &ExchangeSub<Channel, Market>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<Channel: PartialEq, Market: PartialEq> PartialEq<ExchangeSub<Channel, Market>> for ExchangeSub<Channel, Market>
impl<Channel: PartialEq, Market: PartialEq> PartialEq<ExchangeSub<Channel, Market>> for ExchangeSub<Channel, Market>
source§fn eq(&self, other: &ExchangeSub<Channel, Market>) -> bool
fn eq(&self, other: &ExchangeSub<Channel, Market>) -> bool
This method tests for
self and other values to be equal, and is used
by ==.source§impl<Channel: PartialOrd, Market: PartialOrd> PartialOrd<ExchangeSub<Channel, Market>> for ExchangeSub<Channel, Market>
impl<Channel: PartialOrd, Market: PartialOrd> PartialOrd<ExchangeSub<Channel, Market>> for ExchangeSub<Channel, Market>
source§fn partial_cmp(&self, other: &ExchangeSub<Channel, Market>) -> Option<Ordering>
fn partial_cmp(&self, other: &ExchangeSub<Channel, Market>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read moresource§impl Serialize for ExchangeSub<OkxChannel, OkxMarket>
impl Serialize for ExchangeSub<OkxChannel, OkxMarket>
impl<Channel: Eq, Market: Eq> Eq for ExchangeSub<Channel, Market>
impl<Channel, Market> StructuralEq for ExchangeSub<Channel, Market>
impl<Channel, Market> StructuralPartialEq for ExchangeSub<Channel, Market>
Auto Trait Implementations§
impl<Channel, Market> RefUnwindSafe for ExchangeSub<Channel, Market>where
Channel: RefUnwindSafe,
Market: RefUnwindSafe,
impl<Channel, Market> Send for ExchangeSub<Channel, Market>where
Channel: Send,
Market: Send,
impl<Channel, Market> Sync for ExchangeSub<Channel, Market>where
Channel: Sync,
Market: Sync,
impl<Channel, Market> Unpin for ExchangeSub<Channel, Market>where
Channel: Unpin,
Market: Unpin,
impl<Channel, Market> UnwindSafe for ExchangeSub<Channel, Market>where
Channel: UnwindSafe,
Market: UnwindSafe,
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.