codec

package
v0.1.12 Latest Latest
Warning

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

Go to latest
Published: Nov 23, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxLength = 1 << 20 // 1M
)
View Source
const Unused = 0

Variables

View Source
var (
	ErrNegativeLength = errors.New("negative length")
	ErrTooBigLength   = errors.New("too big length")
)
View Source
var (
	Enc = NewEncoder()
	Dec = NewDecoder()
)
View Source
var EOF = errors.New("eof")

Functions

This section is empty.

Types

type Decoder

type Decoder interface {
	// Fixed-length integer
	DecodeInt8(r Reader) (v int8, n int, err error)
	DecodeInt16f(r Reader) (v int16, n int, err error)
	DecodeInt32f(r Reader) (v int32, n int, err error)
	DecodeInt64f(r Reader) (v int64, n int, err error)
	DecodeUint8(r Reader) (v uint8, n int, err error)
	DecodeUint16f(r Reader) (v uint16, n int, err error)
	DecodeUint32f(r Reader) (v uint32, n int, err error)
	DecodeUint64f(r Reader) (v uint64, n int, err error)

	// Variable-length integer
	DecodeInt16v(r Reader) (v int16, n int, err error)
	DecodeInt32v(r Reader) (v int32, n int, err error)
	DecodeInt64v(r Reader) (v int64, n int, err error)
	DecodeUint16v(r Reader) (v uint16, n int, err error)
	DecodeUint32v(r Reader) (v uint32, n int, err error)
	DecodeUint64v(r Reader) (v uint64, n int, err error)

	DecodeFloat32(r Reader) (v float32, n int, err error)
	DecodeFloat64(r Reader) (v float64, n int, err error)
	DecodeBool(r Reader) (v bool, n int, err error)
	DecodeString(r Reader) (v string, n int, err error)
	DecodeBytes(r Reader) (v []byte, n int, err error)
}

func NewDecoder

func NewDecoder() Decoder

type Dispatcher

type Dispatcher interface {
	Dispatch(id uint32, body Reader) (int, error)
}

type Encoder

type Encoder interface {
	// Fixed-length integer
	EncodeInt8(w Writer, v int8) (n int, err error)
	EncodeInt16f(w Writer, v int16) (n int, err error)
	EncodeInt32f(w Writer, v int32) (n int, err error)
	EncodeInt64f(w Writer, v int64) (n int, err error)
	EncodeUint8(w Writer, v uint8) (n int, err error)
	EncodeUint16f(w Writer, v uint16) (n int, err error)
	EncodeUint32f(w Writer, v uint32) (n int, err error)
	EncodeUint64f(w Writer, v uint64) (n int, err error)

	// Variable-length integer
	EncodeInt16v(w Writer, v int16) (n int, err error)
	EncodeInt32v(w Writer, v int32) (n int, err error)
	EncodeInt64v(w Writer, v int64) (n int, err error)
	EncodeUint16v(w Writer, v uint16) (n int, err error)
	EncodeUint32v(w Writer, v uint32) (n int, err error)
	EncodeUint64v(w Writer, v uint64) (n int, err error)

	EncodeFloat32(w Writer, v float32) (n int, err error)
	EncodeFloat64(w Writer, v float64) (n int, err error)
	EncodeBool(w Writer, v bool) (n int, err error)
	EncodeString(w Writer, v string) (n int, err error)
	EncodeBytes(w Writer, v []byte) (n int, err error)
}

func NewEncoder

func NewEncoder() Encoder

type Message

type Message interface {
	MessageId() int
	MessageName() string
	Encode(Writer) (int, error)
	Decode(Reader) (int, error)
}

type MessageReader

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

MessageReader read and dispatch Message

func NewMessageReader

func NewMessageReader(reader io.Reader, dispatcher Dispatcher) *MessageReader

func (*MessageReader) Read

func (mr *MessageReader) Read() (int, error)

type Reader

type Reader interface {
	io.Reader
	io.ByteReader
}

func WrapReader

func WrapReader(r io.Reader) Reader

type Writer

type Writer interface {
	io.Writer
	io.ByteWriter
}

func WrapWriter

func WrapWriter(w io.Writer) Writer

Jump to

Keyboard shortcuts

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