pub mod client;
pub mod dispatch;
pub mod reconnect;
pub mod runtime;
pub mod writer;
pub use client::{WebSocketClient, DEFAULT_SHUTDOWN_TIMEOUT};
pub use runtime::AsyncRuntime;
use futures_util::stream::{SplitSink, SplitStream};
use tokio::net::TcpStream;
use tokio_tungstenite::tungstenite::Message;
use tokio_tungstenite::{MaybeTlsStream, WebSocketStream};
pub(crate) type WsSink = SplitSink<WebSocketStream<MaybeTlsStream<TcpStream>>, Message>;
pub(crate) type WsStream = SplitStream<WebSocketStream<MaybeTlsStream<TcpStream>>>;