timer

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const TypeClosure int32 = 0

Variables

This section is empty.

Functions

This section is empty.

Types

type ChangeFunc

type ChangeFunc func(change ChangeType, node Node)

type ChangeType

type ChangeType uint8
const (
	ChangeUpsert ChangeType = iota + 1
	ChangeDelete
)

type Context

type Context struct {
	OwnerID int64
	Node    Node
	Now     time.Time
}

type Handler

type Handler func(ctx Context) time.Duration

type Node

type Node struct {
	ID      int64
	Type    int32
	Param1  int64
	Param2  int64
	Payload []byte
	End     time.Time
	Delay   time.Duration
	// contains filtered or unexported fields
}

type Scheduler

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

func NewScheduler

func NewScheduler(ownerID int64, seed int64, saved []Node, onChange ChangeFunc) *Scheduler

func (*Scheduler) ChangeTimer

func (s *Scheduler) ChangeTimer(id int64, now time.Time, delay time.Duration) bool

func (*Scheduler) NewClosureTimer

func (s *Scheduler) NewClosureTimer(delay time.Duration, h Handler) int64

func (*Scheduler) NewTimer

func (s *Scheduler) NewTimer(delay time.Duration, timerType int32, param1 int64, param2 int64, payload []byte) int64

func (*Scheduler) NextTime

func (s *Scheduler) NextTime() time.Time

func (*Scheduler) Nodes

func (s *Scheduler) Nodes() []Node

func (*Scheduler) OwnerID

func (s *Scheduler) OwnerID() int64

func (*Scheduler) RegisterHandler

func (s *Scheduler) RegisterHandler(timerType int32, h Handler)

func (*Scheduler) RemoveTimer

func (s *Scheduler) RemoveTimer(id int64) bool

func (*Scheduler) Seed

func (s *Scheduler) Seed() int64

func (*Scheduler) Tick

func (s *Scheduler) Tick(now time.Time)

Jump to

Keyboard shortcuts

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