Documentation ¶
Index ¶
- Variables
- func NewHeaderLenEncoder(headerLen, writeBufferLen int) *headerLenEncoder
- func NewUvarintEncoder(writeBufferLen int) *uvarintEncoder
- type Buffer
- func (b *Buffer) Cap() int
- func (b *Buffer) GetBuf() []byte
- func (b *Buffer) GetBytes() []byte
- func (b *Buffer) Len() int
- func (b *Buffer) Read(offset, limit int) ([]byte, error)
- func (b *Buffer) ReadAll() []byte
- func (b *Buffer) ReadFromFD(fd int) error
- func (b *Buffer) ReadFromReader(reader io.Reader) (int, error)
- func (b *Buffer) Seek(len int) ([]byte, error)
- type Decoder
- type Encoder
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNotEnough = errors.New("not enough")
Functions ¶
func NewHeaderLenEncoder ¶
func NewHeaderLenEncoder(headerLen, writeBufferLen int) *headerLenEncoder
NewHeaderLenEncoder 创建基于头部长度的编码器 headerLen TCP包的头部内容,用来描述这个包的字节长度 writeBufferLen 服务器发送给客户端包的建议长度,当发送的包小于这个值时,会利用到内存池优化
func NewUvarintEncoder ¶
func NewUvarintEncoder(writeBufferLen int) *uvarintEncoder
NewUvarintEncoder 创建基于Uvarint的编码器 writeBufferLen 服务器发送给客户端包的建议长度,当发送的包小于这个值时,会利用到内存池优化
Types ¶
type Buffer ¶
type Buffer struct {
// contains filtered or unexported fields
}
Buffer 读缓冲区,每个tcp长连接对应一个读缓冲区
func (*Buffer) ReadFromReader ¶
ReadFromReader 从reader里面读取数据,如果reader阻塞,会发生阻塞
type Decoder ¶
Decoder 解码器
func NewHeaderLenDecoder ¶
NewHeaderLenDecoder 创建基于头部长度的解码器 headerLen TCP包的头部内容,用来描述这个包的字节长度 readMaxLen 所读取的客户端包的最大长度,客户端发送的包不能超过这个长度
Click to show internal directories.
Click to hide internal directories.