zerodds-grpc-bridge
gRPC-over-HTTP/2 + gRPC-Web Wire-Codec: Length-Prefixed-Message
(LPM), Path-Parsing (/<service>/<method>), grpc-timeout-Header,
grpc-status-Codes, Custom-Metadata-Encoding mit -bin-Suffix-
Konvention, gRPC-Web-Trailer-Frames, und ein Server-Skeleton fuer
Caller-konfigurierte HTTP/2-Listener. Sitzt auf
zerodds-http2 (RFC 9113) +
zerodds-hpack (RFC 7541). no_std + alloc,
forbid(unsafe_code). Safety classification: STANDARD.
Spec-Mapping
| Spec | Abschnitt |
|---|---|
| gRPC HTTP/2 Protocol | Length-Prefixed-Message + :path + grpc-timeout + grpc-status + Custom-Metadata + -bin-Suffix |
| gRPC-Web Specification | Trailer-Frame (LPM mit Compressed-Flag-MSB=1) + Content-Types (application/grpc-web / application/grpc-web+proto / application/grpc-web-text / JSON) |
Was ist drin
encode_message/decode_message— gRPC LPM (Compressed- Flag 1 byte + Message-Length 4-byte BE + Bytes).parse_path—/<service>/<method>aus:path.encode_timeout/decode_timeout/TimeoutUnit—grpc-timeoutmit Units H/M/S/m/u/n.Status— alle 17 gRPC Status-Codes (0 OK ... 16 UNAUTHENTICATED).encode_header_value/decode_header_value/is_binary_header/BIN_SUFFIX/encode_base64/decode_base64— Custom- Metadata mit-bin-Suffix → Base64.request_headers/response_headers/content_types— Standard-Header-Sets fuer Request/Response/gRPC-Web/JSON.GrpcServer/GrpcRequest/GrpcResponse— Server- Skeleton zum Wiren mit Caller-konfigurierten HTTP/2-Listenern.
Schichten-Position
Layer 5 — Bridges. Sitzt auf zerodds-http2 (RFC 9113 Framing +
Stream-State + Flow-Control) und zerodds-hpack (RFC 7541 Header-
Compression). Konsumenten konfigurieren ihren eigenen TCP/TLS-
Listener und delegieren HTTP/2-Connection-Lifecycle an
zerodds-http2.
Quickstart
use ;
let msg = b"hello-grpc";
let wire = encode_message.expect;
let = decode_message.expect;
assert_eq!;
assert_eq!;
assert_eq!;
Feature-Flags
| Feature | Default | Zweck |
|---|---|---|
std |
✅ | std::error::Error-Impls. |
alloc |
✅ (via std) | Vec / String. |
no_std-fahig: default-features = false, features = ["alloc"].
Stabilitaet
1.0.0-rc.1. Public-API + Wire-Format (gRPC HTTP/2 + gRPC-Web) +
Fehler-Diskriminanten sind RC1-stabil; Breaking-Changes erfordern
Major-Bump.
Tests
60 Tests grün (54 unit + 5 fuzz-smoke + 1 doc).
Lizenz
Apache-2.0. Siehe LICENSE.
Siehe auch
docs/release/rc1-reviews/grpc-bridge.md— RC1-Review.zerodds-http2— RFC 9113 HTTP/2-Framing-Substrat.zerodds-hpack— RFC 7541 HPACK-Substrat.