tfilter

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AesId   = 'a'
	AesName = "aes"
)
View Source
const (
	GzipId   = 'z'
	GzipName = "gzip"
)
View Source
const (
	Md5Id   = '5'
	Md5Name = "md5"
)

Variables

View Source
var ErrTransferFilterTooLong = errors.New("The length of transfer pipe cannot be bigger than 255 ")

Functions

func Reg

func Reg(tFilter TransferFilter)

Reg 注册过滤器

func RegAES added in v1.0.0

func RegAES(key []byte)

func RegGzip added in v1.0.0

func RegGzip(level int)

RegGzip registers a gzip filter for transfer.

func RegMD5 added in v1.0.0

func RegMD5()

RegMD5 注册md5校验过滤器

Types

type Gzip added in v1.0.0

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

func (*Gzip) ID added in v1.0.0

func (that *Gzip) ID() byte

ID returns transfer filter id.

func (*Gzip) Name added in v1.0.0

func (that *Gzip) Name() string

Name returns transfer filter name.

func (*Gzip) OnPack added in v1.0.0

func (that *Gzip) OnPack(src []byte) ([]byte, error)

OnPack performs filtering on packing.

func (*Gzip) OnUnpack added in v1.0.0

func (that *Gzip) OnUnpack(src []byte) (dest []byte, err error)

OnUnpack performs filtering on unpacking.

type PipeTFilter

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

PipeTFilter 传输过滤器切片,能批量执行注册的tFilter

func NewPipeTFilter

func NewPipeTFilter() *PipeTFilter

NewPipeTFilter 创建传输过滤器管道

func (*PipeTFilter) Append

func (that *PipeTFilter) Append(filterID ...byte) error

Append 追加传输过滤器

func (*PipeTFilter) AppendFrom

func (that *PipeTFilter) AppendFrom(src *PipeTFilter)

AppendFrom 从指定传输过滤器管道追加过滤器

func (*PipeTFilter) IDs

func (that *PipeTFilter) IDs() []byte

IDs 获取当前传输过滤器管道中的id

func (*PipeTFilter) Iterator

func (that *PipeTFilter) Iterator(callback func(idx int, filter TransferFilter) bool)

Iterator 迭代

func (*PipeTFilter) Len

func (that *PipeTFilter) Len() int

Len 当前传输过滤器管道的长度

func (*PipeTFilter) Names

func (that *PipeTFilter) Names() []string

Names 获取当前传输过滤器管道中的名字

func (*PipeTFilter) OnPack

func (that *PipeTFilter) OnPack(data []byte) ([]byte, error)

OnPack 打包,从最内层到最外层

func (*PipeTFilter) OnUnpack

func (that *PipeTFilter) OnUnpack(data []byte) ([]byte, error)

OnUnpack 解包,从最外层到最内层

func (*PipeTFilter) Reset

func (that *PipeTFilter) Reset()

Reset 清除传输过滤器管道

type TransferFilter

type TransferFilter interface {
	// ID 过滤器id
	ID() byte
	// Name 过滤器名字
	Name() string
	// OnPack 过滤器打包方法
	OnPack([]byte) ([]byte, error)
	// OnUnpack 过滤器解包方法
	OnUnpack([]byte) ([]byte, error)
}

TransferFilter 传输过滤器接口

func Get

func Get(id byte) (TransferFilter, error)

Get 通过id获取过滤器对象

func GetByName

func GetByName(name string) (TransferFilter, error)

GetByName 通过过滤器名称返回过滤器对象

Jump to

Keyboard shortcuts

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