internet 0.0.3

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 only a few days old. A lot of the current roughness is just “hot pie” defects — things that are still cooling down.  
> Roughly by the 20th of August the API should become significantly more frozen, stable and safer.  
> Until then **every patch contain breaking changes**.

## Status of public protocols

| Protocol / Layer     | Encoding          | Mapping                  | Notes                      |
|----------------------|-------------------|--------------------------|----------------------------|
| **TLS 1.0 – 1.3**    | Semi-finished     | Hidden / WIP / Pending   ||
| **HTTP/1.1**         | Pending           | Pending                  | First codecs coming soon   |
| **HTTP/2**           | Pending           | Pending                  | First codecs coming soon   |
| **HTTP/3**           | Pending           | Pending                  | First codecs coming soon   |
| **QUIC / QUICv1**    | Mostly finished   | Probably Soon            | Needs final verification   |
| **QUICv2**           | Mostly finished   | Probably Soon            | Needs final verification   |
| **TCP**              | Semi-finihed      | Semi-finished            | MVP, will be polished soon |
| **UDP**              | Semi-finished     | Semi-finished            | MVP, will be polished soon |
| **IPv4 / IPv6**      | Base done (dirty) | Hidden / WIP / Pending   | Same state as TCP/UDP      |
| **ICMPv4 / ICMPv6**  | Semi-finished     | Hidden / WIP / Pending   | Needs polish               |

## 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`         |
| `ipv4`       | IPv4                             | `ip`                |
| `ipv6`       | IPv6                             | `ip`                |
| `icmpv4`     | ICMPv4                           | `ipv4`              |
| `icmpv6`     | ICMPv6                           | `ipv6`              |
| `transport`  | Transport primitives             ||
| `std`        | Standard library support         | `alloc`             |
| `alloc`      | Allocation support               ||

**Default features** enable almost everything listed above.

## Notes

- Mapping for several layers is currently hidden / WIP and will be exposed later.
- Some other protocol implementations exist but remain private (still MVP / unfiltered).