ringline-grpc
Sans-IO gRPC client framing layer.
A pure sans-IO gRPC client framing layer built on top of
ringline-h2. Has no protobuf dependency -- the
caller provides raw &[u8] message bodies and handles serialization externally.
Architecture
TCP + TLS bytes
|
+----v-----------+
| ringline-h2 | HTTP/2 framing + HPACK
+----+-----------+
|
+----v-----------+
| ringline-grpc | gRPC message framing + status codes
| GrpcConnection | GrpcEvent: Response, Message, Status, etc.
+----------------+
Quick Start
use ;
let mut grpc = new;
// Send the connection preface to the transport.
let preface = grpc.take_pending_send;
transport_send;
// Send a unary request (codec-agnostic: caller provides raw bytes).
let stream_id = grpc.send_unary?;
transport_send;
// Feed received bytes and drain events.
grpc.recv?;
while let Some = grpc.poll_event
Features
- gRPC length-prefixed message framing (encode + decode)
- Status code and trailing metadata extraction
- Codec-agnostic: works with protobuf, flatbuffers, or any serialization format
- Built on ringline-h2 for HTTP/2 transport