timer

package
v0.0.0-...-2f8f7b3 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//HourName 小时
	HourName = "HOUR"
	//HourInterval 小时间隔ms为精度
	HourInterval = 60 * 60 * 1e3
	//HourScales  12小时制
	HourScales = 12

	//MinuteName 分钟
	MinuteName = "MINUTE"
	//MinuteInterval 每分钟时间间隔
	MinuteInterval = 60 * 1e3
	//MinuteScales 60分钟
	MinuteScales = 60

	//SecondName  秒
	SecondName = "SECOND"
	//SecondInterval 秒的间隔
	SecondInterval = 1e3
	//SecondScales  60秒
	SecondScales = 60
	//TimersMaxCap //每个时间轮刻度挂载定时器的最大个数
	TimersMaxCap = 2048
)
View Source
const (
	MaxChanBuff  = 2048
	MaxTimeDelay = 50
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Timer

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

===========================================================================

func (*Timer) Run

func (t *Timer) Run()

type TimerFunc

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

func NewTimerFunc

func NewTimerFunc(f func(args ...interface{}), args ...interface{}) *TimerFunc

func (*TimerFunc) Call

func (t *TimerFunc) Call()

func (*TimerFunc) String

func (t *TimerFunc) String() string

type TimerScheduler

type TimerScheduler struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewAutoTimerScheduler

func NewAutoTimerScheduler() *TimerScheduler

func NewTimerScheduler

func NewTimerScheduler() *TimerScheduler

func (*TimerScheduler) CancelTimer

func (t *TimerScheduler) CancelTimer(timerId uint32)

func (*TimerScheduler) CreateTimerAfter

func (t *TimerScheduler) CreateTimerAfter(timerFunc *TimerFunc, duration time.Duration)

func (*TimerScheduler) CreateTimerAt

func (t *TimerScheduler) CreateTimerAt(timerFunc *TimerFunc, unixNano int64)

func (*TimerScheduler) HasTimer

func (t *TimerScheduler) HasTimer(timerId uint32) bool

func (*TimerScheduler) Start

func (t *TimerScheduler) Start()

func (*TimerScheduler) Stop

func (t *TimerScheduler) Stop()

type TimerWheel

type TimerWheel struct {

	//互斥锁(继承RWMutex的 RWLock,UnLock 等方法)
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewTimerWheel

func NewTimerWheel(name string, interval int64, scales int, maxCap int, ctx context.Context) *TimerWheel

func (*TimerWheel) AddTimer

func (t *TimerWheel) AddTimer(timerId uint32, timer *Timer)

func (*TimerWheel) GetTimersWithIn

func (t *TimerWheel) GetTimersWithIn(duration time.Duration) map[uint32]*Timer

func (*TimerWheel) Run

func (t *TimerWheel) Run()

func (*TimerWheel) SetNextTimerWheel

func (t *TimerWheel) SetNextTimerWheel(tw *TimerWheel)

Jump to

Keyboard shortcuts

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