ttRPC support for Rama.
ttRPC
ttRPC ("gRPC for low-memory environments") is a lightweight RPC protocol used by
container runtimes and their plugins — containerd shims, the kata-agent, and the
containerd Node Resource Interface (NRI). Where gRPC rides on HTTP/2, ttRPC replaces
the whole HTTP/2 stack with a simple length-prefixed framing directly on the byte
stream, so it is a sibling to rama-grpc, not part of it.
Messages are encoded with prost; service stubs are generated at build time by
rama-ttrpc-build (see [include_proto!]).
Transport
Like rama-grpc, this crate has no transport layer. A [Client] or
[ServerConnection] is built from any already-connected stream (anything that is
AsyncRead + AsyncWrite). Establish that stream with rama's rama-tcp / rama-unix /
rama-udp capabilities (or an in-memory tokio::io::duplex pair), then hand it over:
Rama
Crate used by the end-user rama crate and rama crate authors alike.
Learn more about rama:
- Github: https://github.com/plabayo/rama
- Book: https://ramaproxy.org/book/