Package preciseio

import "github.com/byte-mug/golibs/preciseio"

Overview

Extended IO Routines to construct Serializers/Deserializers to directly operate on bufio-Reader/bufio-Writer.

Index

Variables

var EBlobTooLong = errors.New("Blob too long")

-

var EListTooLong = errors.New("List too long")

-

type PreciseReader

type PreciseReader struct {
	R Reader
}

-

func (PreciseReader) ReadBlob

func (pr PreciseReader) ReadBlob() ([]byte, error)

-

func (PreciseReader) ReadListLength

func (pr PreciseReader) ReadListLength() (int, error)

-

func (PreciseReader) ReadUvarint

func (pr PreciseReader) ReadUvarint() (uint64, error)

-

func (PreciseReader) ReadVarint

func (pr PreciseReader) ReadVarint() (int64, error)

-

type PreciseWriter

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

-

func PreciseWriterFromPool

func PreciseWriterFromPool() *PreciseWriter

Gets an initialized PreciseWriter from the Pool.

func (*PreciseWriter) Initialize

func (pw *PreciseWriter) Initialize()

This function initializes the internal fields. This must be called before any use.

func (*PreciseWriter) PutToPool

func (w *PreciseWriter) PutToPool()

Puts the PrecideWriter to the Pool, so it can be reallocated by PreciseWriterFromPool().

func (PreciseWriter) WriteBlob

func (pw PreciseWriter) WriteBlob(b []byte) error

-

func (PreciseWriter) WriteListLength

func (pw PreciseWriter) WriteListLength(i int) error

-

func (PreciseWriter) WriteUvarint

func (pw PreciseWriter) WriteUvarint(i uint64) error

-

func (PreciseWriter) WriteVarint

func (pw PreciseWriter) WriteVarint(i int64) error

-

type Reader

type Reader interface {
	io.Reader
	ReadByte() (byte, error)
}

-

type Writer

type Writer interface {
	io.Writer
	WriteByte(c byte) error
}

-

Dependencies