1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use tower::{util::Oneshot, ServiceExt};
use crate::types::trade::SubscribeTrades;
use crate::ExcService;
/// Subscribe trades service.
pub trait SubscribeTradesService: ExcService<SubscribeTrades> {
/// Subscribe trades.
fn subscribe_trades(&mut self, inst: &str) -> Oneshot<&mut Self, SubscribeTrades>
where
Self: Sized,
{
ServiceExt::oneshot(
self,
SubscribeTrades {
instrument: inst.to_string(),
},
)
}
}
impl<S> SubscribeTradesService for S where S: ExcService<SubscribeTrades> {}