use crate::{
exchange::bitmex::Bitmex,
subscription::{trade::PublicTrades, Subscription},
Identifier,
};
use serde::Serialize;
#[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash, Debug, Serialize)]
pub struct BitmexChannel(pub &'static str);
impl BitmexChannel {
pub const TRADES: Self = Self("trade");
}
impl Identifier<BitmexChannel> for Subscription<Bitmex, PublicTrades> {
fn id(&self) -> BitmexChannel {
BitmexChannel::TRADES
}
}
impl AsRef<str> for BitmexChannel {
fn as_ref(&self) -> &str {
self.0
}
}