sio

package module
v0.3.4 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2021 License: Unlicense Imports: 8 Imported by: 1

README

sio

Super IO reader/writer for Go!

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultBufSize int = 4096

Functions

func Close

func Close(v interface{})

func Equal added in v0.3.3

func Equal(one_, another_ io.Reader) (bool, error)

func IsClosable

func IsClosable(v interface{}) bool

Types

type Closable

type Closable interface {
	Close()
}

type ClosableWithError

type ClosableWithError interface {
	Close() error
}

type Reader

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

func NewReader

func NewReader(rd io.Reader) *Reader

func NewReaderSize

func NewReaderSize(rd io.Reader, size int) *Reader

NewReaderSize 创建一个新的 Reader

func (*Reader) MustSkip

func (r *Reader) MustSkip(n int) (int, error)

func (*Reader) N

func (r *Reader) N() uint64

N 返回内部读计数器

func (*Reader) Peek

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

Peek 注意:n 的数量不能大于 buffer size

func (*Reader) Read

func (r *Reader) Read(p []byte) (n int, err error)

func (*Reader) ReadByte

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

func (*Reader) ReadBytes

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

func (*Reader) ReadBytesAsString

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

func (*Reader) ReadEnoughBytes

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

ReadEnoughBytes 读取足够的字节,如果不够会报错 当 n <= buffer size 时,该函数保证如果读不够则回退 否则,会停留在最后的读取地

func (*Reader) ReadFull added in v0.3.2

func (r *Reader) ReadFull(p []byte) (n int, err error)

func (*Reader) ReadLine added in v0.3.4

func (r *Reader) ReadLine() (result string, eof bool, err error)

ReadLine read a string until \n or EOF bool 参数返回是否因为 EOF 结尾 string 参数返回读到的字符串,该字符串不会以 \n 结尾

func (*Reader) ReadProtoMessage added in v0.3.2

func (r *Reader) ReadProtoMessage(message proto.Message) error

func (*Reader) ReadUInt16

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

func (*Reader) ReadUInt32

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

func (*Reader) ReadUInt64

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

func (*Reader) ReadUInt8

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

func (*Reader) ReadVarInt

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

func (*Reader) ReadVarUInt

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

func (*Reader) ResetN

func (r *Reader) ResetN()

ResetN 将内部读计数器清零

func (*Reader) Skip

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

Skip 尽可能多的跳过 n 个字节

type Writer

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

func NewWriter

func NewWriter(wt io.Writer) *Writer

func (*Writer) N

func (w *Writer) N() uint64

N 返回内部写计数器

func (*Writer) ResetN

func (w *Writer) ResetN()

ResetN 将内部写计数器清零

func (*Writer) Write

func (w *Writer) Write(p []byte) (n int, err error)

func (*Writer) WriteByte

func (w *Writer) WriteByte(b byte) error

func (*Writer) WriteProtoMessage added in v0.3.2

func (w *Writer) WriteProtoMessage(message proto.Message) (int, error)

func (*Writer) WriteString

func (w *Writer) WriteString(s string) (n int, err error)

WriteString 写入全部字符串,如果无法全部写入依然会返回错误

func (*Writer) WriteUInt16

func (w *Writer) WriteUInt16(x uint16) (int, error)

func (*Writer) WriteUInt32

func (w *Writer) WriteUInt32(x uint32) (int, error)

func (*Writer) WriteUInt64

func (w *Writer) WriteUInt64(x uint64) (int, error)

func (*Writer) WriteUInt8

func (w *Writer) WriteUInt8(b uint8) (int, error)

func (*Writer) WriteVarInt

func (w *Writer) WriteVarInt(x int64) (int, error)

func (*Writer) WriteVarUInt

func (w *Writer) WriteVarUInt(x uint64) (int, error)

func (*Writer) WriteZeros

func (w *Writer) WriteZeros(n int) (int, error)

Jump to

Keyboard shortcuts

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