Implementation:Alibaba MNN FlatBuffers gRPC Header
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Serialization, RPC |
| Last Updated | 2026-02-10 12:00 GMT |
Overview
Integration header enabling FlatBuffers serialization as a message format within gRPC services.
Description
grpc.h provides the glue layer between FlatBuffers and gRPC. It defines grpc::MessageBuilder which extends FlatBufferBuilder with gRPC-compatible slice allocation, and grpc::Message<T> which wraps serialized FlatBuffers for transport over gRPC channels. This allows gRPC services to use FlatBuffers instead of Protocol Buffers as the wire format.
Usage
Vendored dependency used internally by MNN for model serialization. Not directly imported by end users.
Code Reference
Source Location
- Repository: Alibaba_MNN
- File:
3rd_party/flatbuffers/include/flatbuffers/grpc.h - Lines: 1-328
Signature
namespace flatbuffers {
namespace grpc {
class MessageBuilder;
template<class T> class Message;
class SliceAllocator;
}}
Import
#include "flatbuffers/grpc.h"
I/O Contract
| Input | Output |
|---|---|
FlatBuffer data constructed via MessageBuilder |
grpc::Message<T> ready for gRPC transport
|
| Incoming gRPC message | Zero-copy FlatBuffer root pointer |
Usage Examples
#include "flatbuffers/grpc.h"
flatbuffers::grpc::MessageBuilder mb;
auto name = mb.CreateString("request");
// ... build table ...
mb.Finish(root_offset);
auto msg = mb.ReleaseMessage<MyRequest>();
// Send msg via gRPC stub
Related Pages
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment