redis

package
v0.2.7 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxBulkBytesLen = 1024 * 1024 * 512
	MaxArrayLen     = 1024 * 1024
)

Variables

View Source
var (
	ErrBadCRLFEnd             = errors.New("bad CRLF end")
	ErrBadArrayLen            = errors.New("bad array len")
	ErrBadArrayLenTooLong     = errors.New("bad array len, too long")
	ErrBadBulkBytesLen        = errors.New("bad bulk bytes len")
	ErrBadBulkBytesLenTooLong = errors.New("bad bulk bytes len, too long")
	ErrBadMultiBulkLen        = errors.New("bad multi-bulk len")
	ErrBadMultiBulkContent    = errors.New("bad multi-bulk content, should be bulkbytes")
	ErrFailedDecoder          = errors.New("use of failed decoder")
)
View Source
var ErrFailedEncoder = errors.New("use of failed encoder")

Functions

func Btoi64

func Btoi64(b []byte) (int64, error)

func Encode

func Encode(w io.Writer, r *Message) error

func EncodeToBytes

func EncodeToBytes(r *Message) ([]byte, error)

Types

type Decoder

type Decoder struct {
	Err error
	// contains filtered or unexported fields
}

func NewDecoder

func NewDecoder(r io.Reader) *Decoder

func NewDecoderBuffer

func NewDecoderBuffer(br *bufio.Reader) *Decoder

func NewDecoderSize

func NewDecoderSize(r io.Reader, size int) *Decoder

func (*Decoder) Decode

func (d *Decoder) Decode() (*Message, error)

func (*Decoder) DecodeMultiBulk

func (d *Decoder) DecodeMultiBulk() ([]*Message, error)

type Encoder

type Encoder struct {
	Err error
	// contains filtered or unexported fields
}

func NewEncoder

func NewEncoder(w io.Writer) *Encoder

func NewEncoderBuffer

func NewEncoderBuffer(bw *bufio.Writer) *Encoder

func NewEncoderSize

func NewEncoderSize(w io.Writer, size int) *Encoder

func (*Encoder) Encode

func (e *Encoder) Encode(r *Message, flush bool) error

func (*Encoder) EncodeMultiBulk

func (e *Encoder) EncodeMultiBulk(multi []*Message, flush bool) error

func (*Encoder) Flush

func (e *Encoder) Flush() error

type Message

type Message struct {
	Type MsgType

	Value []byte
	Array []*Message
}

func Decode

func Decode(r io.Reader) (*Message, error)

func DecodeFromBytes

func DecodeFromBytes(p []byte) (*Message, error)

func DecodeMultiBulkFromBytes

func DecodeMultiBulkFromBytes(p []byte) ([]*Message, error)

func NewArray

func NewArray(array []*Message) *Message

func NewBulkBytes

func NewBulkBytes(value []byte) *Message

func NewError

func NewError(value []byte) *Message

func NewErrorf

func NewErrorf(format string, args ...interface{}) *Message

func NewInt

func NewInt(value []byte) *Message

func NewString

func NewString(value []byte) *Message

func (*Message) IsArray

func (r *Message) IsArray() bool

func (*Message) IsBulkBytes

func (r *Message) IsBulkBytes() bool

func (*Message) IsError

func (r *Message) IsError() bool

func (*Message) IsInt

func (r *Message) IsInt() bool

func (*Message) IsString

func (r *Message) IsString() bool

func (*Message) String

func (r *Message) String() string

convenience function for testing only

type MsgType

type MsgType byte
const (
	TypeString    MsgType = '+'
	TypeError     MsgType = '-'
	TypeInt       MsgType = ':'
	TypeBulkBytes MsgType = '$'
	TypeArray     MsgType = '*'
)

func (MsgType) String

func (t MsgType) String() string

Jump to

Keyboard shortcuts

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