pub struct Bybit<Server> { /* private fields */ }Expand description
Generic Bybit<Server> exchange.
§Notes
A Server ExchangeServer implementations exists for
BybitSpot and BybitFuturesUsd.
Trait Implementations§
Source§impl<Server> Connector for Bybit<Server>where
Server: ExchangeServer,
impl<Server> Connector for Bybit<Server>where
Server: ExchangeServer,
Source§const ID: ExchangeId = Server::ID
const ID: ExchangeId = Server::ID
Unique identifier for the exchange server being connected with.
Source§type Channel = BybitChannel
type Channel = BybitChannel
Type that defines how to translate a Barter
Subscription into an exchange specific
channel to be subscribed to. Read moreSource§type Market = BybitMarket
type Market = BybitMarket
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 = BybitResponse
type SubResponse = BybitResponse
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 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 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 expected_responses<InstrumentKey>(_: &Map<InstrumentKey>) -> usize
fn expected_responses<InstrumentKey>(_: &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, Server> Deserialize<'de> for Bybit<Server>where
Server: ExchangeServer,
impl<'de, Server> Deserialize<'de> for Bybit<Server>where
Server: ExchangeServer,
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<InstrumentKey, Server> ExchangeTransformer<Bybit<Server>, InstrumentKey, OrderBooksL2> for BybitOrderBooksL2Transformer<InstrumentKey>
impl<InstrumentKey, Server> ExchangeTransformer<Bybit<Server>, InstrumentKey, OrderBooksL2> for BybitOrderBooksL2Transformer<InstrumentKey>
Source§fn init<'life0, 'async_trait>(
instrument_map: Map<InstrumentKey>,
_: &'life0 [MarketEvent<InstrumentKey, OrderBookEvent>],
__arg2: UnboundedSender<WsMessage>,
) -> Pin<Box<dyn Future<Output = Result<Self, DataError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn init<'life0, 'async_trait>(
instrument_map: Map<InstrumentKey>,
_: &'life0 [MarketEvent<InstrumentKey, OrderBookEvent>],
__arg2: UnboundedSender<WsMessage>,
) -> Pin<Box<dyn Future<Output = Result<Self, DataError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§impl<Server: Ord> Ord for Bybit<Server>
impl<Server: Ord> Ord for Bybit<Server>
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<Server: PartialOrd> PartialOrd for Bybit<Server>
impl<Server: PartialOrd> PartialOrd for Bybit<Server>
Source§impl<Server> Serialize for Bybit<Server>where
Server: ExchangeServer,
impl<Server> Serialize for Bybit<Server>where
Server: ExchangeServer,
Source§impl<Instrument, Server> StreamSelector<Instrument, OrderBooksL1> for Bybit<Server>
impl<Instrument, Server> StreamSelector<Instrument, OrderBooksL1> for Bybit<Server>
type SnapFetcher = NoInitialSnapshots
type Stream = ExchangeStream<WebSocketParser, SplitStream<WebSocketStream<MaybeTlsStream<TcpStream>>>, StatelessTransformer<Bybit<Server>, <Instrument as InstrumentData>::Key, OrderBooksL1, BybitPayload<BybitOrderBookInner>>>
Source§impl<Instrument, Server> StreamSelector<Instrument, OrderBooksL2> for Bybit<Server>
impl<Instrument, Server> StreamSelector<Instrument, OrderBooksL2> for Bybit<Server>
type SnapFetcher = NoInitialSnapshots
type Stream = ExchangeStream<WebSocketParser, SplitStream<WebSocketStream<MaybeTlsStream<TcpStream>>>, BybitOrderBooksL2Transformer<<Instrument as InstrumentData>::Key>>
Source§impl<Instrument, Server> StreamSelector<Instrument, PublicTrades> for Bybit<Server>
impl<Instrument, Server> StreamSelector<Instrument, PublicTrades> for Bybit<Server>
type SnapFetcher = NoInitialSnapshots
type Stream = ExchangeStream<WebSocketParser, SplitStream<WebSocketStream<MaybeTlsStream<TcpStream>>>, StatelessTransformer<Bybit<Server>, <Instrument as InstrumentData>::Key, PublicTrades, BybitPayload<Vec<BybitTradeInner>>>>
impl<Server: Copy> Copy for Bybit<Server>
impl<Server: Eq> Eq for Bybit<Server>
impl<Server> StructuralPartialEq for Bybit<Server>
Auto Trait Implementations§
impl<Server> Freeze for Bybit<Server>
impl<Server> RefUnwindSafe for Bybit<Server>where
Server: RefUnwindSafe,
impl<Server> Send for Bybit<Server>where
Server: Send,
impl<Server> Sync for Bybit<Server>where
Server: Sync,
impl<Server> Unpin for Bybit<Server>where
Server: Unpin,
impl<Server> UnwindSafe for Bybit<Server>where
Server: UnwindSafe,
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