Documentation
¶
Index ¶
- Constants
- Variables
- type RingBuffer
- func (rb *RingBuffer) ByteBuffer() *bytebuffer.ByteBuffer
- func (rb *RingBuffer) Cap() int
- func (rb *RingBuffer) Discard(n int)
- func (rb *RingBuffer) Free() int
- func (rb *RingBuffer) IsEmpty() bool
- func (rb *RingBuffer) IsFull() bool
- func (rb *RingBuffer) Len() int
- func (rb *RingBuffer) Length() int
- func (rb *RingBuffer) Peek(n int) (head []byte, tail []byte)
- func (rb *RingBuffer) PeekAll() (head []byte, tail []byte)
- func (rb *RingBuffer) Read(p []byte) (n int, err error)
- func (rb *RingBuffer) ReadByte() (b byte, err error)
- func (rb *RingBuffer) Reset()
- func (rb *RingBuffer) WithByteBuffer(b []byte) *bytebuffer.ByteBuffer
- func (rb *RingBuffer) Write(p []byte) (n int, err error)
- func (rb *RingBuffer) WriteByte(c byte) error
- func (rb *RingBuffer) WriteString(s string) (int, error)
Constants ¶
View Source
const ( // DefaultBufferSize ring-buffer初始化时的大小 DefaultBufferSize = 1024 // 1KB )
Variables ¶
View Source
var EmptyRingBuffer = New(0)
EmptyRingBuffer 空ring-buffer
View Source
var ErrIsEmpty = errors.New("ring-buffer is empty")
Functions ¶
This section is empty.
Types ¶
type RingBuffer ¶
type RingBuffer struct {
// contains filtered or unexported fields
}
RingBuffer 用户态环形缓冲区
func New ¶
func New(size int) *RingBuffer
New returns a new RingBuffer whose buffer has the given size.
func (*RingBuffer) ByteBuffer ¶
func (rb *RingBuffer) ByteBuffer() *bytebuffer.ByteBuffer
ByteBuffer 以ByteBuffer的形式返回环形缓冲区中所有可读字节,不移动r指针
func (*RingBuffer) Peek ¶
func (rb *RingBuffer) Peek(n int) (head []byte, tail []byte)
Peek 返回环形缓冲区中的n个byte,但是不移动RingBuffer的r指针
func (*RingBuffer) PeekAll ¶
func (rb *RingBuffer) PeekAll() (head []byte, tail []byte)
PeekAll 返回环形缓冲区中的所有字节,但是不移动RingBuffer的r指针
func (*RingBuffer) Read ¶
func (rb *RingBuffer) Read(p []byte) (n int, err error)
Read 从环形缓冲区中读取len(p)个字节到p中,同时移动r指针
func (*RingBuffer) ReadByte ¶
func (rb *RingBuffer) ReadByte() (b byte, err error)
ReadByte 读取环形缓冲区中一个字节,同时移动r指针
func (*RingBuffer) WithByteBuffer ¶
func (rb *RingBuffer) WithByteBuffer(b []byte) *bytebuffer.ByteBuffer
WithByteBuffer 返回一个ByteBuffer,内部字节为:环形缓冲区中所有可读数据+给定字节切片b
func (*RingBuffer) Write ¶
func (rb *RingBuffer) Write(p []byte) (n int, err error)
Write 向环形缓冲区中写入len(p)个字节,同时移动w指针
func (*RingBuffer) WriteByte ¶
func (rb *RingBuffer) WriteByte(c byte) error
WriteByte 向环形缓冲区中写入一个字节,同时移动w指针
func (*RingBuffer) WriteString ¶
func (rb *RingBuffer) WriteString(s string) (int, error)
WriteString 是 Write 的封装,以字符串的方式写入
Click to show internal directories.
Click to hide internal directories.