use crate::{common::config::ConfigurationWebsocketStreams, models::WebsocketStreamsConnectConfig};
use super::WebsocketStreams;
#[derive(Clone)]
pub struct WebsocketStreamsHandle {
configuration: ConfigurationWebsocketStreams,
}
impl WebsocketStreamsHandle {
#[must_use]
pub fn new(configuration: ConfigurationWebsocketStreams) -> Self {
Self { configuration }
}
pub async fn connect(&self) -> anyhow::Result<WebsocketStreams> {
self.connect_with_config(Default::default()).await
}
pub async fn connect_with_config(
&self,
cfg: WebsocketStreamsConnectConfig,
) -> anyhow::Result<WebsocketStreams> {
WebsocketStreams::connect(self.configuration.clone(), cfg.streams, cfg.mode).await
}
}