1 stable release

5.0.0 Jun 8, 2023
5.0.0-rc0 May 30, 2023
5.0.0-pre-alpha7 Apr 24, 2023
5.0.0-pre-alpha6 Feb 5, 2023

#1784 in Network programming

28 downloads per month
Used in 3 crates

GPL-3.0-or-later

59KB
1.5K SLoC

tuic

Delicately-TUICed 0-RTT proxy protocol

Version Documentation License

Overview

The TUIC protocol specification can be found in SPEC.md. This crate provides the low-level abstract of the TUIC protocol in Rust.

Some optional features that can be enabled:

  • model - Provides a connection model abstraction of the TUIC protocol, with packet fragmentation and task counter built-in. No I/O operation is involved.
  • marshal - Provides methods for (un)marsalling the protocol in sync flavor.
  • async_marshal - Provides methods for (un)marsalling the protocol in async flavor.

The root of the protocol abstraction is the Header.

Versioning Syntax

5.0.0-rc0
^ ^ ^  ^
| | |  |- Pre-release version, considered to be unstable
| | |---- Patch version, no breaking changes
| |------ Major version of a specific TUIC protocol version, may have breaking changes
|-------- TUIC protocol version

To avoid breaking changes, import tuic into Cargo.toml using:

tuic = "5.0.*"

License

This library is licensed under GNU General Public License v3.0

However, the concept of the TUIC protocol is license-free. You can implement, modify, and redistribute the protocol without any restrictions, even for commercial use

Dependencies

~0.2–7MB
~14K SLoC