timer

package
v0.0.0-...-80248e1 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SetTimestampOffset

func SetTimestampOffset(offset int64)

SetTimestampOffset 设置时间戳偏移量

func ShadowTimestamp

func ShadowTimestamp() int64

ShadowTimestamp 叠加偏移量的时间戳-秒

Types

type IExpire

type IExpire interface {
	GetExpire() int64 // 获取过期时间
}

IExpire 过期接口

type ITimer

type ITimer interface {
	Start(ctx context.Context) error
	Stop()
	ITimerSecond
	ITimerMillisecond
}
var GTimer ITimer

func NewTimer

func NewTimer() ITimer

type ITimerMillisecond

type ITimerMillisecond interface {
	AddMillisecond(callBackFunc xcontrol.ICallBack, expireMillisecond int64, out xcontrol.IOut) *Millisecond // callBackFunc: 到期-回调函数 expireMillisecond: 到期 时间戳(毫秒) out: 到期-输出
	DelMillisecond(millisecond *Millisecond)
}

type ITimerSecond

type ITimerSecond interface {
	AddSecond(callBackFunc xcontrol.ICallBack, expire int64, out xcontrol.IOut) *Second // callBackFunc: 到期-回调函数 expire: 到期 时间戳(秒) out: 到期-输出
	DelSecond(second *Second)
}

type Millisecond

type Millisecond struct {
	xcontrol.ISwitchButton // 有效(false:不执行,扫描时自动删除)
	xcontrol.ICallBack     // 到期-回调函数

	xcontrol.IOut // 到期-输出
	// contains filtered or unexported fields
}

Millisecond 毫秒级定时器

func (*Millisecond) Delete

func (p *Millisecond) Delete()

Delete 删除毫秒级定时器

func (*Millisecond) GetExpire

func (p *Millisecond) GetExpire() int64

type MillisecondMinHeap

type MillisecondMinHeap []*MillisecondTask

MillisecondMinHeap 毫秒-数据-小顶堆

⚠️只允许通过 heap 包操作,不要直接用 append/sort...

func InitMilliTaskHeap

func InitMilliTaskHeap() *MillisecondMinHeap

InitMilliTaskHeap 初始化堆

func (*MillisecondMinHeap) Len

func (p *MillisecondMinHeap) Len() int

func (*MillisecondMinHeap) Less

func (p *MillisecondMinHeap) Less(i, j int) bool

func (*MillisecondMinHeap) Pop

func (p *MillisecondMinHeap) Pop() any

func (*MillisecondMinHeap) Push

func (p *MillisecondMinHeap) Push(x any)

func (*MillisecondMinHeap) Swap

func (p *MillisecondMinHeap) Swap(i, j int)

type MillisecondTask

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

MillisecondTask 表示一个毫秒级定时任务

seq 用于保证相同到期时间时先来先出

func NewMilliTask

func NewMilliTask(expire int64, millisecond *Millisecond) *MillisecondTask

NewMilliTask 创建新任务,自动分配序号

type Second

type Second struct {
	*Millisecond
}

Second 秒级定时器

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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