Documentation
¶
Index ¶
- Variables
- func Ptr[T any](i T) *T
- type TimeWheel
- func (tw *TimeWheel) AddTask(data interface{}, delay time.Duration, callback TimeWheelTaskCallback) (taskID interface{}, err error)
- func (tw *TimeWheel) AddTimer(taskID, data interface{}, delay time.Duration, callback TimeWheelTaskCallback) error
- func (tw *TimeWheel) RemoveTask(taskID interface{}) error
- func (tw *TimeWheel) ResetTask(taskID interface{}, delay time.Duration) error
- func (tw *TimeWheel) Stop()
- type TimeWheelTaskCallback
Constants ¶
This section is empty.
Variables ¶
Functions ¶
Types ¶
type TimeWheel ¶
type TimeWheel struct {
// contains filtered or unexported fields
}
A TimeWheel is a time wheel object to schedule tasks.
func NewTimeWheel ¶
NewTimeWheel create a new time wheel with the given interval and slot number.
once the time wheel is created, it will start to run tasks in a goroutine.
func (*TimeWheel) AddTask ¶
func (tw *TimeWheel) AddTask(data interface{}, delay time.Duration, callback TimeWheelTaskCallback) (taskID interface{}, err error)
AddTask add a task to the time wheel, return the task id
func (*TimeWheel) AddTimer ¶
func (tw *TimeWheel) AddTimer(taskID, data interface{}, delay time.Duration, callback TimeWheelTaskCallback) error
AddTimer add a timer task, if task id exists, do reset operator
func (*TimeWheel) RemoveTask ¶
type TimeWheelTaskCallback ¶
type TimeWheelTaskCallback func(taskID interface{}, data interface{})
TimeWheelTaskCallback defined the method to run task while timeout.
Click to show internal directories.
Click to hide internal directories.