1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//! Async [Engine.IO v4][spec] client for Rust.
//!
//! Engine.IO is the low-level transport protocol underneath Socket.IO.
//! It negotiates a connection (HTTP long-polling or WebSocket), manages
//! heartbeats, and delivers raw [`Message`](packet::Message) frames.
//! Most users will never touch this crate directly; the higher-level
//! `sioc` crate builds on top of it.
//!
//! # Architecture
//!
//! ```text
//! ┌─────────────┐
//! │ Engine │
//! └──────┬──────┘
//! │ spawns
//! ┌──────▼──────┐
//! │ transport │ (polling → optional WebSocket upgrade)
//! └─────────────┘
//! ```
//!
//! 1. [`Engine::connect`](engine::Engine::connect) spawns the engine and
//! transport tasks, returning channel handles for both.
//! 2. The transport task performs the HTTP long-polling handshake and
//! optionally upgrades to WebSocket transparently.
//!
//! [spec]: https://socket.io/docs/v4/engine-io-protocol/
/// The Engine.IO protocol version implemented by this crate (`EIO` query parameter).
pub const ENGINE_IO_VERSION: &str = "4";
/// Convenience re-exports for common usage.