Home | History | Annotate | Download | only in go
      1 package flatbuffers
      2 
      3 // Codec implements gRPC-go Codec which is used to encode and decode messages.
      4 var Codec = "flatbuffers"
      5 
      6 type FlatbuffersCodec struct{}
      7 
      8 func (FlatbuffersCodec) Marshal(v interface{}) ([]byte, error) {
      9 	return v.(*Builder).FinishedBytes(), nil
     10 }
     11 
     12 func (FlatbuffersCodec) Unmarshal(data []byte, v interface{}) error {
     13 	v.(flatbuffersInit).Init(data, GetUOffsetT(data))
     14 	return nil
     15 }
     16 
     17 func (FlatbuffersCodec) String() string {
     18 	return Codec
     19 }
     20 
     21 type flatbuffersInit interface {
     22 	Init(data []byte, i UOffsetT)
     23 }
     24