AnDiXL commented on PR #3559:
URL: https://github.com/apache/brpc/pull/3559#issuecomment-6660524262
@chenBright Thanks, agreed. `RequestMeta` and `ResponseMeta` are now
FlatBuffers tables in
`src/brpc/policy/flatbuffers_rpc_meta.fbs`. The 12-byte `FRPC` header (magic,
body size, meta size) and the length-based framing are unchanged.
- The generated `flatbuffers_rpc_meta_generated.h` is checked in, so the
library build still needs only the FlatBuffers headers and no `flatc`.
`tools/flatbuffers/gen_rpc_meta.sh` regenerates it, and the ON gate and
`verify.sh` fail if it is stale.
- Readers verify the table and ignore unknown fields; new fields must be
appended. Tests cover a peer that sends fields from a newer schema, and
truncated or malformed tables.
- The fields are the same as before. Small builds use a 128-byte inline
allocator, so building the metadata does not allocate. The tables are 48/32
bytes (request/response) instead of 24/20.
Small-packet A/B against the previous head (fb_rpc, cross-host TCP, single
connection, 0B/32B/1KB/8KB x 1 and 64 callers, 5 interleaved rounds of 30 s,
medians): QPS and p50/p99 latency stay within run-to-run noise (QPS -4.3% to
+3.6%).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]