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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
//! # Internet
//!
//! Internet is a network library that provides encoding, structure mapping, communication primitives and implementations of network standards, protocols and algorithms in one place.
//!
//! > **Development Status — August 2026**
//! >
//! > The project is days old. Much of the current roughness consists of "hot pie" defects — surface imperfections that smooth out as the codebase cools.
//! >
//! > We expect the API to harden significantly by **20 August 2026**. Until then, **treat every release as potentially breaking** and pin your dependency to an exact version if you are experimenting early.
//!
//! ## Protocol Support
//!
//! > **How to read this table**
//! >
//! > | Legend | Meaning |
//! > | -------- | --------- |
//! > | **Phase** | |
//! > | ✅ **Supported** | Ready for use. The API is stabilized and covered by tests. |
//! > | ❄️ **Cooling** | Nearly ✅ **Supported** |
//! > | 🚧 **Developing** | Actively worked on. Core functionality is there, but with known limitations. |
//! > | 📋 **Planned** | Next in queue. Development has not started yet. |
//! > | **Encoding / Mapping** | |
//! > | `Complete` | Implemented and tested. |
//! > | `Partial` | Available but incomplete (draft quality or missing features). |
//! > | `Planned` | Will be delivered when the protocol reaches the front of the queue. |
//! > | **Stability** | |
//! > | `Stable` | Production-ready, API frozen. |
//! > | `Beta` | Mostly complete, minor API changes possible. |
//! > | `Alpha` | Functional, but expect breakage. |
//! > | `Experimental` | Exists, but not yet verified or battle-tested. |
//! > | `Unstable` | Under active refactoring; things will move around. |
//! >
//! | Protocol | Phase | Encoding | Mapping | Stability | Notes |
//! | ------------------------------- | ------- | ---------- | --------- | ----------- | ------- |
//! | **[HTTP/3](crate::http3)** | 📋 Planned | Planned | Planned | — | Queued. |
//! | **[HTTP/2](crate::http2)** | 📋 Planned | Planned | Planned | — | Queued. |
//! | **[HTTP/1.1](crate::http1_1)** | 📋 Planned | Planned | Planned | — | Queued. |
//! | **[QUIC](crate::quic)** | ✅ Supported | Complete | Planned | Stable | |
//! | **[QUICv1](crate::quicv1)** | ✅ Supported | Complete | Planned | Stable | |
//! | **[QUICv2](crate::quicv2)** | ❄️ Cooling | Partial | Planned | Beta | Might be refactored. |
//! | **[TLS 1.3](crate::tls1_3)** | 🚧 Developing | Partial | Partial | Beta | Mapping is draft, hidden. |
//! | **[TLS 1.2](crate::tls1_2)** | 🚧 Developing | Partial | Partial | Unstable | Draft, Mapping is hidden. |
//! | **[TLS 1.1](crate::tls1_1)** | 🚧 Developing | Partial | Partial | Unstable | Draft, Mapping is hidden. |
//! | **[TLS 1.0](crate::tls1_0)** | 🚧 Developing | Partial | Partial | Beta | Mapping is hidden. |
//! | **[TCP](crate::tcp)** | 🚧 Developing | Complete | Partial | Beta | Options is under experiments. |
//! | **[UDP](crate::udp)** | 🚧 Developing | Complete | Partial | Beta | Options is under experiments. |
//! | **[IGMPv1](crate::icmpv1)** | 🚧 Developing | Partial | Partial | Experimental | Unverified in the wild. |
//! | **[IGMPv2](crate::igmpv2)** | 🚧 Developing | Partial | Partial | Experimental | Unverified in the wild. |
//! | **[IGMPv3](crate::icmpv3)** | 🚧 Developing | Partial | Partial | Experimental | Unverified in the wild. |
//! | **[IPv6](crate::ipv6)** | 🚧 Developing | Partial | Partial | Unstable | Active refactoring. |
//! | **[IPv4](crate::ipv4)** | 🚧 Developing | Partial | Partial | Unstable | Active refactoring. |
//! | **[ICMPv6](crate::icmpv6)** | ❄️ **Cooling** | Complete | Partial | Experimental | Unverified in the wild. |
//! | **[ICMPv4](crate::icmpv4)** | ❄️ **Cooling** | Complete | Partial | Experimental | Unverified in the wild. |
//!
//! ## Feature flags
//!
//! | Feature | Enables | Depends on |
//! | --------- | --------- | ------------ |
//! | `http1_1` | HTTP/1.1 | -- |
//! | `http2` | HTTP/2 | -- |
//! | `http3` | HTTP/3 | `quicv1` |
//! | `tls` | TLS base | `tcp` |
//! | `tls1_0` | TLS 1.0 | `tls` |
//! | `tls1_1` | TLS 1.1 | `tls1_0` + `ring` |
//! | `tls1_2` | TLS 1.2 | `tls1_1` |
//! | `tls1_3` | TLS 1.3 | `tls1_2` |
//! | `quic` | QUIC | `transport` |
//! | `quicv1` | QUICv1 | `quic` |
//! | `quicv2` | QUICv2 | `quicv1` |
//! | `tcp` | TCP | `transport` |
//! | `udp` | UDP | `transport` |
//! | `igmp` | IGMP base | -- |
//! | `icmpv1` | IGMPv1 | `ipv4` |
//! | `igmpv2` | IGMPv2 | `ipv4` |
//! | `igmpv3` | IGMPv3 | `ipv4` |
//! | `ipv4` | IPv4 | `ip` |
//! | `ipv6` | IPv6 | `ip` |
//! | `icmpv4` | ICMPv4 | `ipv4` |
//! | `icmpv6` | ICMPv6 | `ipv6` |
//! | `transport` | Transport primitives | -- |
//! | `std` | Standard library support | `alloc` |
//! | `alloc` | Allocation support | -- |
pub use *;
pub use *;