codec

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2022 License: GPL-3.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidProtoMessage = errors.New("invalid proto message")
)

Functions

This section is empty.

Types

type Codec

type Codec interface {
	Marshal(data any) ([]byte, error)
	Unmarshal(p []byte, data any) error
}

type Decoder added in v0.1.4

type Decoder interface {
	Decode(reader io.Reader) (buf []byte, err error)
	Encode(writer io.Writer, buf []byte) (n int, err error)

	DecodeBytes(bytes []byte) (buf []byte, err error)
}

func NewDecoder added in v0.1.4

func NewDecoder(packetLengthSize int) Decoder

type JsonCodec added in v0.1.5

type JsonCodec struct {
}

func NewJsonCodec added in v0.1.5

func NewJsonCodec() *JsonCodec

func (*JsonCodec) Marshal added in v0.1.5

func (codec *JsonCodec) Marshal(data any) ([]byte, error)

func (*JsonCodec) Unmarshal added in v0.1.5

func (codec *JsonCodec) Unmarshal(p []byte, data any) error

type LineBasedFrameDecoder added in v0.1.4

type LineBasedFrameDecoder struct {
	// contains filtered or unexported fields
}

func (*LineBasedFrameDecoder) Decode added in v0.1.4

func (decoder *LineBasedFrameDecoder) Decode(reader io.Reader) (buf []byte, err error)

func (*LineBasedFrameDecoder) DecodeBytes added in v0.1.5

func (decoder *LineBasedFrameDecoder) DecodeBytes(bytes []byte) (buf []byte, err error)

func (*LineBasedFrameDecoder) Encode added in v0.1.5

func (decoder *LineBasedFrameDecoder) Encode(writer io.Writer, buf []byte) (n int, err error)

type Options

type Options struct {
	// contains filtered or unexported fields
}

Options represents options options

func DefaultOptions added in v0.1.5

func DefaultOptions() *Options

Default returns the default options implementation,the packet is composed by : |-------------- header --------------|-------- body --------| |packetLength| action | seq |-------- body --------| | 4 | 2 | 2 | n |

type Packet

type Packet struct {
	Action int16
	Seq    int16
	Body   []byte
	// contains filtered or unexported fields
}

func NewPacket added in v0.1.5

func NewPacket(codec Codec) *Packet

func (*Packet) Marshal

func (p *Packet) Marshal(data any) (err error)

func (*Packet) Pack added in v0.1.5

func (p *Packet) Pack() ([]byte, error)

func (*Packet) Unmarshal

func (p *Packet) Unmarshal(data any) (err error)

func (*Packet) Unpack added in v0.1.5

func (p *Packet) Unpack(msg []byte) *Packet

type ProtoCodec added in v0.1.5

type ProtoCodec struct {
}

func NewProtoCodec added in v0.1.5

func NewProtoCodec() *ProtoCodec

func (*ProtoCodec) Marshal added in v0.1.5

func (codec *ProtoCodec) Marshal(data any) ([]byte, error)

func (*ProtoCodec) Unmarshal added in v0.1.5

func (codec *ProtoCodec) Unmarshal(p []byte, data any) error

Jump to

Keyboard shortcuts

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