Documentation
¶
Index ¶
Constants ¶
View Source
const ( EpollRead = syscall.EPOLLIN | syscall.EPOLLPRI | syscall.EPOLLERR | syscall.EPOLLHUP | unix.EPOLLET | syscall.EPOLLRDHUP EpollClose = uint32(syscall.EPOLLIN | syscall.EPOLLRDHUP) )
对端关闭连接 8193
View Source
const ( EventIn = 1 // 数据流入 EventClose = 2 // 断开连接 EventTimeout = 3 // 检测到超时 )
Variables ¶
View Source
var ErrNotEnough = errors.New("not enough")
View Source
var (
ErrReadTimeout = errors.New("tcp read timeout")
)
Functions ¶
func NewHeaderLenEncoder ¶ added in v1.2.0
func NewHeaderLenEncoder(headerLen, writeBufferLen int) *headerLenEncoder
NewHeaderLenEncoder 创建基于头部长度的编码器 headerLen TCP包的头部内容,用来描述这个包的字节长度 writeBufferLen 服务器发送给客户端包的建议长度,当发送的包小于这个值时,会利用到内存池优化
func TimeEncoder ¶
func TimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder)
Types ¶
type Buffer ¶ added in v1.7.0
type Buffer struct { Buf []byte // 应用内缓存区 // contains filtered or unexported fields }
Buffer 读缓冲区,每个tcp长连接对应一个读缓冲区
func (*Buffer) ReadFromFD ¶ added in v1.7.0
ReadFromFD 从文件描述符里面读取数据
func (*Buffer) ReadFromReader ¶ added in v1.7.0
ReadFromReader 从reader里面读取数据,如果reader阻塞,会发生阻塞
type Decoder ¶ added in v1.2.0
Decoder 解码器
func NewHeaderLenDecoder ¶ added in v1.2.0
NewHeaderLenDecoder 创建基于头部长度的解码器 headerLen TCP包的头部内容,用来描述这个包的字节长度 readMaxLen 所读取的客户端包的最大长度,客户端发送的包不能超过这个长度
type Handler ¶
type Handler interface { OnConnect(c *Conn) // OnConnect 当TCP长连接建立成功是回调 OnMessage(c *Conn, bytes []byte) // OnMessage 当客户端有数据写入是回调 OnClose(c *Conn, err error) // OnClose 当客户端主动断开链接或者超时时回调,err返回关闭的原因 }
Handler Server 注册接口
type Option ¶ added in v1.1.0
type Option interface {
// contains filtered or unexported methods
}
func WithAcceptGNum ¶ added in v1.1.0
WithAcceptGNum 设置建立连接的goroutine数量
func WithIOEventQueueLen ¶ added in v1.2.1
WithIOEventQueueLen 设置IO事件队列长度,默认值是1024
func WithReadBufferLen ¶ added in v1.5.0
WithReadBufferLen 设置缓存区大小
func WithTimeout ¶ added in v1.1.0
WithTimeout 设置TCP超时检查的间隔时间以及超时时间
Source Files
¶
Click to show internal directories.
Click to hide internal directories.