Documentation ¶
Overview ¶
包 passer 实现了通用的函数执行和序列化功能。
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrCanceled = context.Canceled
View Source
var ErrTimeout = context.DeadlineExceeded
View Source
var ErrUnknown = errors.New("unknown data type, unable to execute")
Functions ¶
This section is empty.
Types ¶
type Passer ¶
type Passer[RESULT any] struct { // contains filtered or unexported fields }
Passer 结构体用于管理所有已注册函数的信息,通过互斥锁保证线程安全。
func (*Passer[RESULT]) ExecuteWithBytes ¶
ExecuteWithBytes 根据序列化后的字节数组还原数据类型并执行相应的注册函数。 参数:
ctx 是一个上下文对象,可用于取消或超时操作 data 是之前由 PackToBytes 生成的序列化字节数组
返回:
泛型结果类型 RESULT 的实例,以及执行过程中的错误
func (*Passer[RESULT]) HasRegister ¶ added in v0.0.7
HasRegister 坚持注册函数是否存在
func (*Passer[RESULT]) PackToBytes ¶
PackToBytes 将给定的数据对象序列化成字节数组,其中包括类型标识和序列化后的数据。 参数:
obj 是要序列化的任意数据对象
返回:
序列化后的字节数组,以及可能出现的错误
func (*Passer[RESULT]) RegisterPasser ¶
RegisterPasser 注册一个函数到 Passer 中,使得在后续执行过程中可以根据数据类型调用对应的函数。 注意不返回已经存在的函数 参数:
t 代表要处理的数据类型实例 do 是一个符合 Dofunc 签名的函数,用于处理 ctx 上下文和类型 t 的数据
Click to show internal directories.
Click to hide internal directories.