Expand description
Zero-Copy TCP Framing Pipeline
Проблема: старый подход делал data.clone() + encrypt_in_place() + write(len) + write(data) = 2 syscalls + 1 clone.
TLS 1.3 (rustls) делает всё за 1 внутренний write.
Решение: prepend 4-byte length header → encrypt payload in-place → single write_all().
Structs§
- Frame
Reader - Zero-copy frame reader — reads and decrypts from TCP stream
- Frame
Writer - Zero-copy frame writer — encrypts and writes in a single syscall
Enums§
- Frame
Error - Frame errors
- Padding
Profile - Padding profile — mimics real-world traffic distributions.
Constants§
- FRAME_
HEADER_ SIZE - Frame header size: 4 bytes for payload length (u32 BE)
- MAX_
FRAME_ PAYLOAD - Maximum frame payload size (before encryption)