pub mod raw_message;
pub mod stage;
mod builder;
mod command;
mod config;
mod emitter;
mod event;
mod r#impl;
mod json;
mod processor;
pub use self::{
builder::{
LargeThresholdError, LargeThresholdErrorType, ShardBuilder, ShardIdError, ShardIdErrorType,
},
command::Command,
config::Config,
event::Events,
processor::heartbeat::Latency,
r#impl::{
CommandError, CommandErrorType, Information, ResumeSession, SendError, SendErrorType,
SessionInactiveError, Shard, ShardStartError, ShardStartErrorType,
},
stage::Stage,
};
use tokio::net::TcpStream;
use tokio_tungstenite::{MaybeTlsStream, WebSocketStream};
type ShardStream = WebSocketStream<MaybeTlsStream<TcpStream>>;