typemanager

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2018 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetTypeName

func GetTypeName(dummyInstance interface{}) (name string)

GetTypeName 返回任务类型名称, 作为任务类型的唯一标准

Types

type PackFormatOrSignatureFormatNotMatchError

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

PackFormatOrSignatureFormatNotMatchError 是传入 TaskTypeManager 的 Packer 所给输出的格式与预期格式不匹配时返回的错误

func (PackFormatOrSignatureFormatNotMatchError) Error

type SignatureNotMatchError

type SignatureNotMatchError struct {
	Name string
	// contains filtered or unexported fields
}

SignatureNotMatchError 是当尝试注册任务类型, 但其签名与数据库中所存的任务类型的签名不符时, 返回的错误

func (SignatureNotMatchError) Error

func (e SignatureNotMatchError) Error() string

type TypeManager

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

TypeManager 管理任务类型

func OpenTypeManager

func OpenTypeManager(path string, packer datapacker.Packer) (m *TypeManager, err error)

OpenTypeManager 打开一个 TypeManager 若其并不存在, 创建之

func (*TypeManager) Close

func (m *TypeManager) Close() (err error)

Close 关闭 TypeManager

func (TypeManager) Pack

func (m TypeManager) Pack(task interface{}) (packed []byte, err error)

Pack 打包任务

func (*TypeManager) Register

func (m *TypeManager) Register(dummyInstance interface{}) (err error)

Register 在 TypeManager 中注册一个任务类型

func (TypeManager) Unpack

func (m TypeManager) Unpack(typeName string, packed []byte) (task interface{}, err error)

Unpack 解包任务

type TypeNotRegisteredError

type TypeNotRegisteredError struct {
	Name string
}

TypeNotRegisteredError 是尝试打包/解包任务, 但任务类型并没有被注册时返回的错误

func (TypeNotRegisteredError) Error

func (e TypeNotRegisteredError) Error() string

type TypeRecord

type TypeRecord struct {
	Name        string
	ReflectType reflect.Type
}

TypeRecord 记录了任务类型

Jump to

Keyboard shortcuts

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