tcp

package
v0.0.0-...-e1eba21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package tcp implements the framework of TCP connection.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Conn

type Conn struct {
	// contains filtered or unexported fields
}

Conn 根据Protocol读写TCP数据

func Dial

func Dial(address string, de Decoder) (*Conn, error)

Dial 通过tcp连接目标地址address

func (*Conn) Close

func (conn *Conn) Close() error

Close 关闭Conn,然后等待已接收数据处理完成

func (*Conn) Write

func (conn *Conn) Write(en Encoder) error

type Decoder

type Decoder interface {
	// DecodeFrom 从tcp连接中读取字节流数据进行解码,返回数据处理器Handler,数据处理器在单独goroutine中运行。
	// 如果tcp连接接收缓冲没有数据,方法将会阻塞。
	// 返回 error 保持与net包一致,io.EOF为对方关闭,net.ErrClosed为己方关闭
	DecodeFrom(r io.Reader) (Handler, error)
}

Decoder 是tcp连接的解码器

type Encoder

type Encoder interface {
	// EncodeTo ,将数据编码为字节流,写入到tcp连接
	EncodeTo(w io.Writer) error
}

Encoder 是tcp连接的编码器

type Handler

type Handler interface {
	Handle() error
}

Handler 处理解码后的数据

type HandlerFunc

type HandlerFunc func() error

func (HandlerFunc) Handle

func (f HandlerFunc) Handle() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL