Documentation ¶
Overview ¶
Package unknown provides definitions that work with the thriftgo `keep_unknown_fields` option. When the option is turned on, thriftgo generates an extra field `_unknownFields` for each structure defined in the IDL to store fields that are not recognized by the current IDL when deserializing data. Those unknown fields will be written out at the end of the data stream when serializing the structure that carries them.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( ErrExceedDepthLimit = thrift.NewTProtocolExceptionWithType(thrift.DEPTH_LIMIT, errors.New("depth limit exceeded")) ErrUnknownType = func(t thrift.TType) error { return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("unknown data type %d", t)) } )
errors .
Functions ¶
func SetNestingDepthLimit ¶
func SetNestingDepthLimit(d int)
SetNestingDepthLimit sets the max number of nesting level.
Types ¶
type Field ¶
type Field struct { Name string ID int16 Type thrift.TType KeyType thrift.TType ValType thrift.TType Value interface{} }
Field is used to store unrecognized field when deserializing data.
type Fields ¶
type Fields []*Field
Fields is a list of Field.
type WithUnknownFields ¶
type WithUnknownFields interface { // CarryingUnknownFields tells whether the structure contains data from fields not recognized by the current IDL. CarryingUnknownFields() bool }
WithUnknownFields is the interface of all structures that supports keeping unknown fields.