Documentation ¶
Index ¶
- func NewBuffer() *buffer
- func NewProtobufCodec() *protobufCodec
- func ReadStruct(reader io.Reader, s pbStruct) error
- func TypeToUint32(messageType BearMessageType) uint32
- func WriteStruct(writer io.Writer, s pbStruct) error
- type BearMessageType
- type BearProtocol
- type BearTransport
- type Flusher
- type RPCInfo
- type ReadSizeProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewProtobufCodec ¶
func NewProtobufCodec() *protobufCodec
func ReadStruct ¶
ReadStruct reads the given Thrift struct. It pools TProtocols.
func TypeToUint32 ¶
func TypeToUint32(messageType BearMessageType) uint32
目前支持call和reply两种模式 对异常并没有捕捉
func WriteStruct ¶
直接通过pb做序列化 WriteStruct writes the given Thrift struct to a writer. It pools TProtocols.
Types ¶
type BearMessageType ¶
type BearMessageType uint32
const ( INVALID_TMESSAGE_TYPE BearMessageType = 0 // support two types CALL BearMessageType = 1 REPLY BearMessageType = 2 EXCEPTION BearMessageType = 3 ONEWAY BearMessageType = 4 STREAMING BearMessageType = 5 )
func Uint32ToType ¶
func Uint32ToType(index uint32) BearMessageType
type BearProtocol ¶
type BearProtocol interface { WriteMessageBegin(name string, typeId BearMessageType, seqid int32) error WriteMessageEnd() error WriteStructBegin(name string) error WriteStructEnd() error WriteFieldBegin(name string, typeId BearType, id int16) error WriteFieldEnd() error WriteFieldStop() error WriteMapBegin(keyType BearType, valueType BearType, size int) error WriteMapEnd() error WriteListBegin(elemType BearType, size int) error WriteListEnd() error WriteSetBegin(elemType BearType, size int) error WriteSetEnd() error WriteBool(value bool) error WriteByte(value int8) error WriteI16(value int16) error WriteI32(value int32) error WriteI64(value int64) error WriteDouble(value float64) error WriteString(value string) error WriteBinary(value []byte) error ReadMessageBegin() (name string, typeId BearMessageType, seqid int32, err error) ReadMessageEnd() error ReadStructBegin() (name string, err error) ReadStructEnd() error ReadFieldBegin() (name string, typeId BearType, id int16, err error) ReadFieldEnd() error ReadMapBegin() (keyType BearType, valueType BearType, size int, err error) ReadMapEnd() error ReadListBegin() (elemType BearType, size int, err error) ReadListEnd() error ReadSetBegin() (elemType BearType, size int, err error) ReadSetEnd() error ReadBool() (value bool, err error) ReadByte() (value int8, err error) ReadI16() (value int16, err error) ReadI32() (value int32, err error) ReadI64() (value int64, err error) ReadDouble() (value float64, err error) ReadString() (value string, err error) ReadBinary() (value []byte, err error) Skip(fieldType BearType) (err error) Flush() (err error) Transport() BearTransport }
type BearTransport ¶
type BearTransport interface { io.ReadWriter io.ByteReader io.ByteWriter Flusher ReadSizeProvider // contains filtered or unexported methods }
type RPCInfo ¶
type RPCInfo struct { MsgType BearMessageType MethodName string SeqId uint32 }
type ReadSizeProvider ¶
type ReadSizeProvider interface {
RemainingBytes() (num_bytes uint64)
}
Click to show internal directories.
Click to hide internal directories.