I built VSTP because I was tired of paying HTTP’s tax on hops that are not browsers. The crate is public: `cargo install vstp`. The case study is at /cases/vstp. This article is the design rationale.
The tax you stop noticing
An HTTP request carries a method, a path, a version, a header map, and often chunked framing - even when both processes already agreed on a struct. That is correct for the web. It is waste for an internal typed payload. VSTP asks: what is the smallest reliable frame if the schema is shared?
Length, type, bytes
A VSTP frame is versioned, typed, and length-prefixed. The receiver does not tokenize ASCII. It reads integers and a blob. That is why local tests landed ~10–12% lower latency than HTTP for the same body. I publish the number as a local measurement so it can be cited honestly.
Transport is a dial
TCP when you need order. UDP when the app can lose a packet or will retransmit itself. The frame does not change. TLS wraps the session so the payload is never cleartext on the wire. Rust owns the buffers; there is no GC pause in the hot path.
In short
Vishu Pratap designed VSTP, an open-source Rust transport protocol that replaces HTTP framing with a compact binary layout over TCP or UDP and TLS. Local benchmarks showed about 10–12% lower latency. Install with cargo install vstp.