codec

package
v0.1.7 Latest Latest
Warning

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

Go to latest
Published: Dec 5, 2022 License: GPL-3.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

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

Functions

func NewLengthFieldBasedFromDecoder added in v0.1.6

func NewLengthFieldBasedFromDecoder(conn net.Conn, offset int) net.Conn

func NewWebsocketClientDecoder added in v0.1.6

func NewWebsocketClientDecoder(conn net.Conn) *websocketDecoder

func NewWebsocketDecoder added in v0.1.6

func NewWebsocketDecoder(conn net.Conn) net.Conn

Types

type Codec

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

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 LengthFieldBasedFrameDecoder added in v0.1.6

type LengthFieldBasedFrameDecoder struct {
	net.Conn
	// contains filtered or unexported fields
}

func (*LengthFieldBasedFrameDecoder) Read added in v0.1.6

func (decoder *LengthFieldBasedFrameDecoder) Read(bytes []byte) (n int, err error)

func (*LengthFieldBasedFrameDecoder) SyscallConn added in v0.1.6

func (c *LengthFieldBasedFrameDecoder) SyscallConn() (syscall.RawConn, error)

SyscallConn prepare for epoll

func (*LengthFieldBasedFrameDecoder) Write added in v0.1.6

func (decoder *LengthFieldBasedFrameDecoder) Write(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) Encode added in v0.1.4

func (p *Packet) Encode(data any) (msg []byte, err error)

func (*Packet) EncodeWith added in v0.1.7

func (p *Packet) EncodeWith(action, seq int16, data any) ([]byte, error)

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) error

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