Documentation ¶
Overview ¶
package connection
注意,这个package还在开发中
对 net.Conn 接口的二次封装,目的有两个: 1. 在流媒体传输这种特定的长连接场景下提供更方便、高性能的接口 2. 便于后续将TCPConn替换成其他传输协议
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
This section is empty.
Types ¶
type Connection ¶
type Connection interface { // 包含interface net.Conn的所有方法 // Read // Write // Close // LocalAddr // RemoteAddr // SetDeadline // SetReadDeadline // SetWriteDeadline net.Conn ReadAtLeast(buf []byte, min int) (n int, err error) ReadLine() (line []byte, isPrefix bool, err error) // 只有设置了ReadBufSize才可以使用这个方法 // 如果使用了bufio写缓冲,则将缓冲中的数据发送出去 // 如果使用了channel异步发送,则阻塞等待,直到之前channel中的数据全部发送完毕 // 一般在Close前,想要将剩余数据发送完毕时调用 Flush() error // 阻塞直到连接关闭或发生错误 // @return 返回nil则是本端主动调用Close关闭 Done() <-chan error // TODO chef: 这几个接口是否不提供 // Mod类型函数不加锁,需要调用方保证不发生竞态调用 ModWriteChanSize(n int) ModWriteBufSize(n int) ModReadTimeoutMS(n int) ModWriteTimeoutMS(n int) }
type Option ¶
type Option struct { // 如果不为0,则之后每次读/写使用bufio的缓冲 ReadBufSize int WriteBufSize int // 如果不为0,则之后每次读/写都带超时 ReadTimeoutMS int WriteTimeoutMS int // 如果不为0,则写使用channel将数据发送到后台协程中发送 WriteChanSize int // 使用channel发送数据时,channel满了时Write函数的行为 // WriteChanFullBehaviorReturnError 返回错误 // WriteChanFullBehaviorBlock 阻塞直到向channel写入成功 WriteChanFullBehavior WriteChanFullBehavior }
type WriteChanFullBehavior ¶ added in v0.13.1
type WriteChanFullBehavior int
const ( WriteChanFullBehaviorReturnError WriteChanFullBehavior = iota + 1 WriteChanFullBehaviorBlock )
Click to show internal directories.
Click to hide internal directories.