reader

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 17, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	INT8_SIZE       = 1
	INT16_SIZE      = 2
	INT32_SIZE      = 4
	INT64_SIZE      = 8
	FLOAT32_SIZE    = 4
	FLOAT64_SIZE    = 8
	VARINT_SHIFT    = 7
	VARINT_MASK     = 0x7F
	VARINT_MSB_MASK = 0x80
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Reader

type Reader struct {
	Buffer []byte
	Max    int
	Cursor int
}

func NewReader

func NewReader(data []byte) *Reader

func (*Reader) ReadBoolean

func (r *Reader) ReadBoolean() (bool, error)

ReadBoolean reads a boolean value from the reader. Format: single byte (0x00 = false, 0x01 = true). Returns an error if the value is not 0x00 or 0x01, or if no byte is available.

func (*Reader) ReadByte

func (r *Reader) ReadByte() (byte, error)

ReadByte reads a single byte from the reader. Returns an error if fewer than 1 byte is available.

func (*Reader) ReadBytes

func (r *Reader) ReadBytes(n int) ([]byte, error)

ReadBytes reads a []bytes of n size from the reader. Returns an empty []bytes if length is 0. Returns an error if the declared length cannot be fully read.

func (*Reader) ReadFloat32BE added in v1.0.0

func (r *Reader) ReadFloat32BE() (float32, error)

ReadFloat32BE reads a 32-bit floating point number from the reader in big endian byte order. Returns an error if fewer than 4 bytes are available.

func (*Reader) ReadFloat32LE added in v1.0.0

func (r *Reader) ReadFloat32LE() (float32, error)

ReadFloat32LE reads a 32-bit floating point number from the reader in little endian byte order. Returns an error if fewer than 4 bytes are available.

func (*Reader) ReadFloat64BE added in v1.0.0

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

ReadFloat64BE reads a 64-bit floating point number from the reader in big endian byte order. Returns an error if fewer than 8 bytes are available.

func (*Reader) ReadFloat64LE added in v1.0.0

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

ReadFloat64LE reads a 64-bit floating point number from the reader in little endian byte order. Returns an error if fewer than 8 bytes are available.

func (*Reader) ReadInt8

func (r *Reader) ReadInt8() (int8, error)

ReadInt8 reads an 8-bit signed integer from the reader. Returns an error if fewer than 1 byte is available.

func (*Reader) ReadInt16BE added in v1.0.0

func (r *Reader) ReadInt16BE() (int16, error)

ReadInt16BE reads a 16-bit signed integer from the reader in big endian byte order. Returns an error if fewer than 2 bytes are available.

func (*Reader) ReadInt16LE added in v1.0.0

func (r *Reader) ReadInt16LE() (int16, error)

ReadInt16LE reads a 16-bit signed integer from the reader in little endian byte order. Returns an error if fewer than 2 bytes are available.

func (*Reader) ReadInt32BE added in v1.0.0

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

ReadInt32BE reads a 32-bit signed integer from the reader in big endian byte order. Returns an error if fewer than 4 bytes are available.

func (*Reader) ReadInt32LE added in v1.0.0

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

ReadInt32LE reads a 32-bit signed integer from the reader in little endian byte order. Returns an error if fewer than 4 bytes are available.

func (*Reader) ReadInt64BE added in v1.0.0

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

ReadInt64BE reads a 64-bit signed integer from the reader in big endian byte order. Returns an error if fewer than 8 bytes are available.

func (*Reader) ReadInt64LE added in v1.0.0

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

ReadInt64LE reads a 64-bit signed integer from the reader in little endian byte order. Returns an error if fewer than 8 bytes are available.

func (*Reader) ReadRemaining

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

ReadRemaining reads the remaining bytes from the reader. This is useful when you want to read the rest of the data in the reader.

func (*Reader) ReadString

func (r *Reader) ReadString(n int) (string, error)

ReadString reads a string of n size from the reader. Returns an empty string if length is 0. Returns an error if the declared length cannot be fully read.

func (*Reader) ReadUInt8

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

ReadUInt8 reads an 8-bit unsigned integer from the reader. Returns an error if fewer than 1 byte is available.

func (*Reader) ReadUInt16BE added in v1.0.0

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

ReadUInt16BE reads a 16-bit unsigned integer from the reader in big endian byte order. Returns an error if fewer than 2 bytes are available.

func (*Reader) ReadUInt16LE added in v1.0.0

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

ReadUInt16LE reads a 16-bit unsigned integer from the reader in little endian byte order. Returns an error if fewer than 2 bytes are available.

func (*Reader) ReadUInt32BE added in v1.0.0

func (r *Reader) ReadUInt32BE() (uint32, error)

ReadUInt32BE reads a 32-bit unsigned integer from the reader in big endian byte order. Returns an error if fewer than 4 bytes are available.

func (*Reader) ReadUInt32LE added in v1.0.0

func (r *Reader) ReadUInt32LE() (uint32, error)

ReadUInt32LE reads a 32-bit unsigned integer from the reader in little endian byte order. Returns an error if fewer than 4 bytes are available.

func (*Reader) ReadUInt64BE added in v1.0.0

func (r *Reader) ReadUInt64BE() (uint64, error)

ReadUInt64BE reads a 64-bit unsigned integer from the reader in big endian byte order. Returns an error if fewer than 8 bytes are available.

func (*Reader) ReadUInt64LE added in v1.0.0

func (r *Reader) ReadUInt64LE() (uint64, error)

ReadUInt64LE reads a 64-bit unsigned integer from the reader in little endian byte order. Returns an error if fewer than 8 bytes are available.

func (*Reader) ReadVarintInt32

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

ReadVarintInt32 reads a 32-bit signed integer from the reader in varint format.

func (*Reader) ReadVarintInt64

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

ReadVarintInt64 reads a 64-bit signed integer from the reader in varint format.

func (*Reader) ReadVarintUInt32

func (r *Reader) ReadVarintUInt32() (uint32, error)

ReadVarintUInt32 reads a 32-bit unsigned integer from the reader in varint format.

func (*Reader) ReadVarintUInt64

func (r *Reader) ReadVarintUInt64() (uint64, error)

ReadVarintUInt64 reads a 64-bit unsigned integer from the reader in varint format.

func (*Reader) Reset

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

Reset resets the reader to the beginning of the buffer.

func (*Reader) Skip

func (r *Reader) Skip(n int) error

Skip n bytes from the reader. Doing this is faster than reading the bytes and discarding them.

Jump to

Keyboard shortcuts

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