l2pkt

package
v0.0.0-...-fba81d0 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2026 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnderflow = errors.New("buffer underflow")
)

Functions

func BuildPacket

func BuildPacket(p SendablePacket) []byte

func ParsePacket

func ParsePacket(payload []byte, p ReceivablePacket) bool

Types

type Reader

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

Reader — маленький LE-ридер поверх байтового среза. Поддерживает readB/C/H/D/Q/F/S, hasRemaining и т.д.

func NewReader

func NewReader(b []byte) *Reader

func (*Reader) HasRemaining

func (r *Reader) HasRemaining() bool

func (*Reader) Offset

func (r *Reader) Offset() int

func (*Reader) ReadB

func (r *Reader) ReadB(dst []byte) error

func (*Reader) ReadBInto

func (r *Reader) ReadBInto(dst []byte, offset, n int) error

func (*Reader) ReadC

func (r *Reader) ReadC() (uint8, error)

func (*Reader) ReadD

func (r *Reader) ReadD() (int32, error)

func (*Reader) ReadF

func (r *Reader) ReadF() (float64, error)

func (*Reader) ReadH

func (r *Reader) ReadH() (uint16, error)

func (*Reader) ReadQ

func (r *Reader) ReadQ() (int64, error)

func (*Reader) ReadS

func (r *Reader) ReadS() (string, error)

func (*Reader) Remaining

func (r *Reader) Remaining() int

func (*Reader) Reset

func (r *Reader) Reset(b []byte)

func (*Reader) Slice

func (r *Reader) Slice() []byte

type ReceivablePacket

type ReceivablePacket interface {
	Read(r *Reader) bool
}

type SendablePacket

type SendablePacket interface {
	Write(w *Writer)
}

type Writer

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

Writer — аналог Java ByteBuffer с методами writeC/H/D/Q/F/B/S. По умолчанию работает в Little Endian (как L2J).

func NewWriter

func NewWriter() *Writer

func (*Writer) Bytes

func (w *Writer) Bytes() []byte

func (*Writer) Len

func (w *Writer) Len() int

func (*Writer) PutDouble

func (w *Writer) PutDouble(v float64)

putDouble / writeF: double (64-бит)

func (*Writer) PutFloat

func (w *Writer) PutFloat(v float32)

putFloat: 32-бит float

func (*Writer) PutInt

func (w *Writer) PutInt(v int32)

putInt / writeD: 32-бит int

func (*Writer) Reset

func (w *Writer) Reset()

func (*Writer) WriteB

func (w *Writer) WriteB(b []byte)

func (*Writer) WriteC

func (w *Writer) WriteC(v byte)

writeC: 8-бит

func (*Writer) WriteD

func (w *Writer) WriteD(v int32)

func (*Writer) WriteF

func (w *Writer) WriteF(v float64)

func (*Writer) WriteH

func (w *Writer) WriteH(v uint16)

writeH: 16-бит

func (*Writer) WriteQ

func (w *Writer) WriteQ(v int64)

writeQ: 64-бит

func (*Writer) WriteS

func (w *Writer) WriteS(s string)

writeS: UTF-16LE нуль-терминированная строка (как ByteBuffer.putChar + '\0')

Jump to

Keyboard shortcuts

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