Documentation
¶
Overview ¶
Package conn 对 net.Conn 的扩展,包括超时读取、限速统计和双向数据交换等功能
Index ¶
- func DataExchange(conn1, conn2 net.Conn, idleTimeout time.Duration) (int64, int64, error)
- type RateLimiter
- type StatConn
- func (sc *StatConn) Close() error
- func (sc *StatConn) GetConn() net.Conn
- func (sc *StatConn) GetRX() uint64
- func (sc *StatConn) GetRate() *RateLimiter
- func (sc *StatConn) GetTX() uint64
- func (sc *StatConn) GetTotal() uint64
- func (sc *StatConn) LocalAddr() net.Addr
- func (sc *StatConn) Read(b []byte) (int, error)
- func (sc *StatConn) RemoteAddr() net.Addr
- func (sc *StatConn) Reset()
- func (sc *StatConn) SetDeadline(t time.Time) error
- func (sc *StatConn) SetReadDeadline(t time.Time) error
- func (sc *StatConn) SetWriteDeadline(t time.Time) error
- func (sc *StatConn) Write(b []byte) (int, error)
- type TimeoutReader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type RateLimiter ¶ added in v1.0.5
type RateLimiter struct {
// contains filtered or unexported fields
}
RateLimiter 全局令牌桶读写限速器
func NewRateLimiter ¶ added in v1.0.5
func NewRateLimiter(readBytesPerSecond, writeBytesPerSecond int64) *RateLimiter
NewRateLimiter 创建新的全局令牌桶读写限速器
func (*RateLimiter) SetRate ¶ added in v1.0.8
func (rl *RateLimiter) SetRate(readBytesPerSecond, writeBytesPerSecond int64)
SetRate 动态调整读写速率
func (*RateLimiter) WaitRead ¶ added in v1.0.5
func (rl *RateLimiter) WaitRead(bytes int64)
WaitRead 等待读取令牌
func (*RateLimiter) WaitWrite ¶ added in v1.0.5
func (rl *RateLimiter) WaitWrite(bytes int64)
WaitWrite 等待写入令牌
type StatConn ¶ added in v1.0.4
type StatConn struct {
Conn net.Conn
RX *uint64
TX *uint64
Rate *RateLimiter
}
StatConn 是一个包装了 net.Conn 的结构体,用于统计并限制读取和写入的字节数
func NewStatConn ¶ added in v1.0.8
func NewStatConn(conn net.Conn, rx, tx *uint64, rate *RateLimiter) *StatConn
NewStatConn 创建一个新的 StatConn
func (*StatConn) GetRate ¶ added in v1.0.8
func (sc *StatConn) GetRate() *RateLimiter
GetRate 返回当前的限速
func (*StatConn) RemoteAddr ¶ added in v1.0.4
RemoteAddr 返回远程地址
func (*StatConn) SetDeadline ¶ added in v1.0.4
SetDeadline 设置连接的读写超时
func (*StatConn) SetReadDeadline ¶ added in v1.0.4
SetReadDeadline 设置连接的读取超时
func (*StatConn) SetWriteDeadline ¶ added in v1.0.4
SetWriteDeadline 设置连接的写入超时
Click to show internal directories.
Click to hide internal directories.