bthrift

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package bthrift .

Package bthrift is byted thrift

Index

Constants

View Source
const (
	UnknownProtocolError = 0 // unknown error
	InvalidData          = 1
	NegativeSize         = 2
	SizeLimit            = 3
	BadVersion           = 4
	NotImplemented       = 5
	DepthLimit           = 6
)

0-6 corresponding with thrift protocol_exception

Variables

View Source
var Binary binaryProtocol

Binary protocol for bthrift.

View Source
var InvalidDataLength = NewProtocolErrorWithType(InvalidData, "Invalid data length")

InvalidDataLength indicates the data length is invalid.

Functions

func IsProtocolError

func IsProtocolError(err error) bool

IsProtocolError to assert if the err is ProtocolError which has TypeId() func

func NewProtocolError

func NewProtocolError(err error) error

NewProtocolError creates a new ProtocolError wrapping the given error.

func NewProtocolErrorWithErrMsg

func NewProtocolErrorWithErrMsg(err error, errMsg string) error

NewProtocolErrorWithErrMsg to build protocolException with rawErr and errMsg

func NewProtocolErrorWithMsg

func NewProtocolErrorWithMsg(errMsg string) error

NewProtocolErrorWithMsg to build protocolException with errMsg

func Skip

func Skip(buf []byte, self BTProtocol, fieldType thrift.TType, maxDepth int) (length int, err error)

Skip skips over the next data element from the provided input TProtocol object.

func SkipDefaultDepth

func SkipDefaultDepth(buf []byte, prot BTProtocol, typeID thrift.TType) (int, error)

SkipDefaultDepth skips over the next data element from the provided input TProtocol object.

func UnknownFieldsLength

func UnknownFieldsLength(fs []UnknownField) (int, error)

UnknownFieldsLength returns the length of fs.

func WriteUnknownFields

func WriteUnknownFields(buf []byte, fs []UnknownField) (offset int, err error)

WriteUnknownFields writes fs into buf, and return written offset of the buf.

Types

type BTProtocol

type BTProtocol interface {
	WriteMessageBegin(buf []byte, name string, typeID thrift.TMessageType, seqid int32) int
	WriteMessageEnd(buf []byte) int
	WriteStructBegin(buf []byte, name string) int
	WriteStructEnd(buf []byte) int
	WriteFieldBegin(buf []byte, name string, typeID thrift.TType, id int16) int
	WriteFieldEnd(buf []byte) int
	WriteFieldStop(buf []byte) int
	WriteMapBegin(buf []byte, keyType, valueType thrift.TType, size int) int
	WriteMapEnd(buf []byte) int
	WriteListBegin(buf []byte, elemType thrift.TType, size int) int
	WriteListEnd(buf []byte) int
	WriteSetBegin(buf []byte, elemType thrift.TType, size int) int
	WriteSetEnd(buf []byte) int
	WriteBool(buf []byte, value bool) int
	WriteByte(buf []byte, value int8) int
	WriteI16(buf []byte, value int16) int
	WriteI32(buf []byte, value int32) int
	WriteI64(buf []byte, value int64) int
	WriteDouble(buf []byte, value float64) int
	WriteString(buf []byte, value string) int
	WriteBinary(buf, value []byte) int
	WriteStringNocopy(buf []byte, binaryWriter BinaryWriter, value string) int
	WriteBinaryNocopy(buf []byte, binaryWriter BinaryWriter, value []byte) int
	MessageBeginLength(name string, typeID thrift.TMessageType, seqid int32) int
	MessageEndLength() int
	StructBeginLength(name string) int
	StructEndLength() int
	FieldBeginLength(name string, typeID thrift.TType, id int16) int
	FieldEndLength() int
	FieldStopLength() int
	MapBeginLength(keyType, valueType thrift.TType, size int) int
	MapEndLength() int
	ListBeginLength(elemType thrift.TType, size int) int
	ListEndLength() int
	SetBeginLength(elemType thrift.TType, size int) int
	SetEndLength() int
	BoolLength(value bool) int
	ByteLength(value int8) int
	I16Length(value int16) int
	I32Length(value int32) int
	I64Length(value int64) int
	DoubleLength(value float64) int
	StringLength(value string) int
	BinaryLength(value []byte) int
	StringLengthNocopy(value string) int
	BinaryLengthNocopy(value []byte) int
	ReadMessageBegin(buf []byte) (name string, typeID thrift.TMessageType, seqid int32, length int, err error)
	ReadMessageEnd(buf []byte) (int, error)
	ReadStructBegin(buf []byte) (name string, length int, err error)
	ReadStructEnd(buf []byte) (int, error)
	ReadFieldBegin(buf []byte) (name string, typeID thrift.TType, id int16, length int, err error)
	ReadFieldEnd(buf []byte) (int, error)
	ReadMapBegin(buf []byte) (keyType, valueType thrift.TType, size, length int, err error)
	ReadMapEnd(buf []byte) (int, error)
	ReadListBegin(buf []byte) (elemType thrift.TType, size, length int, err error)
	ReadListEnd(buf []byte) (int, error)
	ReadSetBegin(buf []byte) (elemType thrift.TType, size, length int, err error)
	ReadSetEnd(buf []byte) (int, error)
	ReadBool(buf []byte) (value bool, length int, err error)
	ReadByte(buf []byte) (value int8, length int, err error)
	ReadI16(buf []byte) (value int16, length int, err error)
	ReadI32(buf []byte) (value int32, length int, err error)
	ReadI64(buf []byte) (value int64, length int, err error)
	ReadDouble(buf []byte) (value float64, length int, err error)
	ReadString(buf []byte) (value string, length int, err error)
	ReadBinary(buf []byte) (value []byte, length int, err error)
	Skip(buf []byte, fieldType thrift.TType) (length int, err error)
}

BTProtocol .

type BinaryWriter

type BinaryWriter interface {
	WriteDirect(b []byte, remainCap int) error
}

BinaryWriter . Deprecated: removed from FastCodec in order to be compatible with Bytebuffer other than netpoll.

type ProtocolError

type ProtocolError interface {
	error
	TypeId() int
}

ProtocolError indicates an protocol error has occurred.

func NewProtocolErrorWithType

func NewProtocolErrorWithType(errType int, errMsg string) ProtocolError

NewProtocolErrorWithType to build protocolException with errType and errMsg

type UnknownField

type UnknownField struct {
	Name    string
	ID      int16
	Type    int
	KeyType int
	ValType int
	Value   interface{}
}

UnknownField is used to describe an unknown field.

func ConvertUnknownFields

func ConvertUnknownFields(buf unknown.Fields) (fields []UnknownField, err error)

ConvertUnknownFields converts buf to deserialized unknown fields.

func GetUnknownFields

func GetUnknownFields(v interface{}) (fields []UnknownField, err error)

GetUnknownFields deserialize unknownFields stored in v to a list of *UnknownFields.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL