2 unstable releases
Uses new Rust 2024
| 0.1.0 | Mar 1, 2026 |
|---|---|
| 0.0.1 | Feb 28, 2026 |
#1853 in Network programming
Used in 2 crates
(via foctet-transport)
71KB
1.5K
SLoC
muxtls

Multiplexed streams over TLS/TCP
Features
- TLS-secured client/server transport using
rustls+tokio-rustls - Multiple independent bidirectional logical streams over one TLS/TCP connection
- Bounded-memory runtime with per-frame, per-stream, and per-connection limits
- Stream-oriented API with async backpressure
SendStreamimplementstokio::io::AsyncWriteRecvStreamimplementstokio::io::AsyncRead
Crates
muxtls-proto: Transport-agnostic wire protocol- QUIC-style
VarInt Framedefinitions and encode/decode routines- Protocol error types (
ProtoError,ErrorCode)
- QUIC-style
muxtls: Async transport implementation- TLS over TCP endpoint/connection/stream runtime
- Stream multiplexing and bounded-memory backpressure
- Depends on
muxtls-protofor wire format
Quick start
[dependencies]
muxtls = "0.1"
API documentation is available on docs.rs.
Wire Format Overview
muxtls uses length-delimited frames, and each frame payload is encoded by muxtls-proto.
Supported frame types:
STREAMRESET_STREAMPINGCONNECTION_CLOSE
Examples
cargo run -p muxtls --example echo_servercargo run -p muxtls --example echo_client
Dependencies
~16–31MB
~425K SLoC