package flatbuffers // Codec implements gRPC-go Codec which is used to encode and decode messages. var Codec = "flatbuffers" type FlatbuffersCodec struct{} func (FlatbuffersCodec) Marshal(v interface{}) ([]byte, error) { return v.(*Builder).FinishedBytes(), nil } func (FlatbuffersCodec) Unmarshal(data []byte, v interface{}) error { v.(flatbuffersInit).Init(data, GetUOffsetT(data)) return nil } func (FlatbuffersCodec) String() string { return Codec } type flatbuffersInit interface { Init(data []byte, i UOffsetT) }