deribit_websocket/
subscriptions.rs1use std::fmt;
4
5#[derive(Debug, Clone)]
7#[deprecated(
8 since = "0.2.0",
9 note = "Use model::SubscriptionChannel instead which supports all channel types"
10)]
11pub enum SubscriptionChannel {
12 Ticker(String),
14 OrderBook(String),
16 Trades(String),
18 UserOrders,
20 UserTrades,
22 Unknown(String),
24}
25
26#[allow(deprecated)]
27impl fmt::Display for SubscriptionChannel {
28 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
29 let channel_str = match self {
30 Self::Ticker(instrument) => format!("ticker.{instrument}.raw"),
31 Self::OrderBook(instrument) => format!("book.{instrument}.raw"),
32 Self::Trades(instrument) => format!("trades.{instrument}.raw"),
33 Self::UserOrders => "user.orders.any.any.raw".to_string(),
34 Self::UserTrades => "user.trades.any.any.raw".to_string(),
35 Self::Unknown(channel) => channel.clone(),
36 };
37 write!(f, "{channel_str}")
38 }
39}