stream_tungstenite/
lib.rs

1pub mod config;
2pub mod handshake;
3pub mod strategies;
4
5pub mod tungstenite;
6
7pub mod tokio_tungstenite {
8    pub use tokio_tungstenite::*;
9}
10
11pub mod errors;
12pub(crate) mod event_listeners;
13pub mod extension;
14pub(crate) mod maybe_sender;
15pub mod metrics;
16
17/// Simplified type aliases for WebSocket stream components.
18pub(crate) mod types {
19    use futures_util::stream::{SplitSink, SplitStream};
20    use tokio::net::TcpStream;
21    use tokio_tungstenite::{MaybeTlsStream, WebSocketStream};
22    use tungstenite::Message;
23
24    /// WebSocket stream over TCP with optional TLS
25    pub type WsTcpStream = WebSocketStream<MaybeTlsStream<TcpStream>>;
26    /// WebSocket message sender
27    pub type PSTSender = SplitSink<WsTcpStream, Message>;
28    /// WebSocket message receiver
29    pub type PSTReceiver = SplitStream<WsTcpStream>;
30}
31
32/// A prelude module for convenient imports of commonly used items.
33pub mod prelude {
34    pub use super::config::*;
35    pub use super::errors::*;
36    pub use super::event_listeners::*;
37    pub use super::extension::*;
38    pub use super::handshake::*;
39    pub use super::maybe_sender::*;
40    pub use super::metrics::*;
41    pub use super::strategies::*;
42    pub use super::tungstenite::*;
43    pub use super::types::*;
44}