internet 0.0.5

Network library for rust
Documentation
# 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 | -- |