serialize

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2021 License: Apache-2.0 Imports: 7 Imported by: 2

Documentation

Overview

Package serialize is default serialization implements.

Index

Constants

View Source
const (
	Simple = "simple"
	Pb     = "protobuf"
	GrpcPb = "grpc-pb"
	Breeze = "breeze"
)

serialization name

View Source
const (
	HessionNumber = iota
	GrpcPbNumber
	JSONNumber
	MsgpackNumber
	HproseNumber
	PbNumber
	SimpleNumber
	GrpcPbJSONNumber
	BreezeNumber
)

serialization number in motan2 header

Variables

View Source
var (
	ErrMultiParam      = errors.New("do not support multi param in Serialization ")
	ErrNilParam        = errors.New("param must not nil in Serialization")
	ErrNotMessageParam = errors.New("param must be proto.Message in Serialization")
)
View Source
var (
	ErrNotSupport = errors.New("not support type by SimpleSerialization")
	ErrWrongSize  = errors.New("read byte size not correct")
)
View Source
var BreezeDefaultBufferSize = 1024
View Source
var DefaultBufferSize = 2048

Functions

func RegistDefaultSerializations

func RegistDefaultSerializations(extFactory motan.ExtensionFactory)

Types

type BreezeSerialization

type BreezeSerialization struct {
}

func (*BreezeSerialization) DeSerialize

func (b *BreezeSerialization) DeSerialize(bytes []byte, v interface{}) (interface{}, error)

func (*BreezeSerialization) DeSerializeMulti

func (b *BreezeSerialization) DeSerializeMulti(bytes []byte, v []interface{}) ([]interface{}, error)

func (*BreezeSerialization) GetSerialNum

func (b *BreezeSerialization) GetSerialNum() int

func (*BreezeSerialization) Serialize

func (b *BreezeSerialization) Serialize(v interface{}) ([]byte, error)

func (*BreezeSerialization) SerializeMulti

func (b *BreezeSerialization) SerializeMulti(v []interface{}) ([]byte, error)

type GrpcPbSerialization

type GrpcPbSerialization struct{}

GrpcPbSerialization can serialize & deserialize only single pb message.

func (*GrpcPbSerialization) DeSerialize

func (g *GrpcPbSerialization) DeSerialize(b []byte, v interface{}) (interface{}, error)

func (*GrpcPbSerialization) DeSerializeMulti

func (g *GrpcPbSerialization) DeSerializeMulti(b []byte, v []interface{}) ([]interface{}, error)

func (*GrpcPbSerialization) GetSerialNum

func (g *GrpcPbSerialization) GetSerialNum() int

func (*GrpcPbSerialization) Serialize

func (g *GrpcPbSerialization) Serialize(v interface{}) ([]byte, error)

func (*GrpcPbSerialization) SerializeMulti

func (g *GrpcPbSerialization) SerializeMulti(v []interface{}) ([]byte, error)

type PbSerialization

type PbSerialization struct{}

PbSerialization can serialize & deserialize multi message of pb, primtive type such as int32, bool etc.

func (*PbSerialization) DeSerialize

func (p *PbSerialization) DeSerialize(b []byte, v interface{}) (interface{}, error)

func (*PbSerialization) DeSerializeMulti

func (p *PbSerialization) DeSerializeMulti(b []byte, v []interface{}) ([]interface{}, error)

func (*PbSerialization) GetSerialNum

func (p *PbSerialization) GetSerialNum() int

func (*PbSerialization) Serialize

func (p *PbSerialization) Serialize(v interface{}) ([]byte, error)

func (*PbSerialization) SerializeMulti

func (p *PbSerialization) SerializeMulti(v []interface{}) ([]byte, error)

type SimpleSerialization

type SimpleSerialization struct {
}

func (*SimpleSerialization) DeSerialize

func (s *SimpleSerialization) DeSerialize(b []byte, v interface{}) (interface{}, error)

func (*SimpleSerialization) DeSerializeMulti

func (s *SimpleSerialization) DeSerializeMulti(b []byte, v []interface{}) (ret []interface{}, err error)

func (*SimpleSerialization) GetSerialNum

func (s *SimpleSerialization) GetSerialNum() int

func (*SimpleSerialization) Serialize

func (s *SimpleSerialization) Serialize(v interface{}) ([]byte, error)

func (*SimpleSerialization) SerializeMulti

func (s *SimpleSerialization) SerializeMulti(v []interface{}) ([]byte, error)

Jump to

Keyboard shortcuts

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