atsf4g_go_robot_protocol_base

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TaskActionAwaitTypeNone = iota
	TaskActionAwaitTypeNormal
	TaskActionAwaitTypeRPC
)

Variables

View Source
var ConnectFunc conn.NewConnectFunc = func() (conn.Connection, error) {
	return websocket.DialWebSocket(Url)
}

ConnectFunc, when set, is used by CmdCreateUser and other connection creation points instead of the default conn.DialWebSocket(Url).

Functions

func AwaitTask

func AwaitTask(other TaskActionImpl) error

Types

type TaskActionAwaitData

type TaskActionAwaitData struct {
	WaitingType uint32
	WaitingId   uint64
}

type TaskActionBase

type TaskActionBase struct {
	Impl   TaskActionImpl
	Name   string
	TaskId uint64

	AwaitData    TaskActionAwaitData
	AwaitChannel chan *TaskActionResumeData

	Timeout *time.Timer
	// contains filtered or unexported fields
}

func NewTaskActionBase

func NewTaskActionBase(timeoutDuration time.Duration, name string) *TaskActionBase

func (*TaskActionBase) AfterYield

func (t *TaskActionBase) AfterYield() error

func (*TaskActionBase) AwaitTask

func (t *TaskActionBase) AwaitTask(other TaskActionImpl) error

func (*TaskActionBase) BeforeYield

func (t *TaskActionBase) BeforeYield() error

func (*TaskActionBase) ClearAwaitData added in v1.1.7

func (t *TaskActionBase) ClearAwaitData()

func (*TaskActionBase) Finish

func (t *TaskActionBase) Finish(result error)

func (*TaskActionBase) GetAwaitData added in v1.1.7

func (t *TaskActionBase) GetAwaitData() TaskActionAwaitData

func (*TaskActionBase) GetTaskId

func (t *TaskActionBase) GetTaskId() uint64

func (*TaskActionBase) GetTimeoutDuration

func (t *TaskActionBase) GetTimeoutDuration() time.Duration

func (*TaskActionBase) InitOnFinish

func (t *TaskActionBase) InitOnFinish(fn func(TaskActionImpl, error))

func (*TaskActionBase) InitTaskId

func (t *TaskActionBase) InitTaskId(id uint64)

func (*TaskActionBase) InitTimeoutTimer

func (t *TaskActionBase) InitTimeoutTimer(timer *time.Timer)

func (*TaskActionBase) IsTakenActionGuard added in v1.1.14

func (t *TaskActionBase) IsTakenActionGuard() bool

func (*TaskActionBase) Kill

func (t *TaskActionBase) Kill()

func (*TaskActionBase) ResetForReuse added in v1.1.7

func (t *TaskActionBase) ResetForReuse()

ResetForReuse 重置任务状态以便复用(不重新分配 AwaitChannel)。 适用于压测场景中的任务对象重用。

func (*TaskActionBase) Resume

func (t *TaskActionBase) Resume(awaitData *TaskActionAwaitData, resumeData *TaskActionResumeData)

func (*TaskActionBase) SetAwaitData added in v1.1.7

func (t *TaskActionBase) SetAwaitData(awaitData TaskActionAwaitData)

func (*TaskActionBase) TimeoutKill

func (t *TaskActionBase) TimeoutKill()

func (*TaskActionBase) Yield

需要提前 SetAwaitData

type TaskActionImpl

type TaskActionImpl interface {
	AwaitTask(TaskActionImpl) error
	InitOnFinish(func(TaskActionImpl, error))
	GetTaskId() uint64
	BeforeYield() error
	AfterYield() error
	Finish(error)
	InitTaskId(uint64)
	GetTimeoutDuration() time.Duration
	InitTimeoutTimer(*time.Timer)
	TimeoutKill()
	Kill()
	IsTakenActionGuard() bool

	Yield() *TaskActionResumeData
	Resume(*TaskActionAwaitData, *TaskActionResumeData)

	HookRun() error
	SetAwaitData(awaitData TaskActionAwaitData)
	GetAwaitData() TaskActionAwaitData
	ClearAwaitData()

	Log(format string, a ...any)
}

type TaskActionManager

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

func NewTaskActionManager

func NewTaskActionManager() *TaskActionManager

func NewTaskActionManagerWithPool added in v1.1.7

func NewTaskActionManagerWithPool(poolSize int) *TaskActionManager

NewTaskActionManagerWithPool 创建使用 channel-based 协程池的 TaskActionManager。 poolSize 即 worker 数量和 channel 缓冲大小。

func (*TaskActionManager) CloseAll

func (m *TaskActionManager) CloseAll()

func (*TaskActionManager) OnTaskFinish added in v1.1.7

func (m *TaskActionManager) OnTaskFinish(taskId uint64)

func (*TaskActionManager) ReleasePool added in v1.1.7

func (m *TaskActionManager) ReleasePool()

ReleasePool 关闭 worker goroutine。

func (*TaskActionManager) RunTaskAction

func (m *TaskActionManager) RunTaskAction(taskAction TaskActionImpl)

func (*TaskActionManager) WaitAll

func (m *TaskActionManager) WaitAll()

type TaskActionResumeData

type TaskActionResumeData struct {
	Err  error
	Data interface{}
}

Jump to

Keyboard shortcuts

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