1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package mhayaActor
- import (
- "time"
- creflect "github.com/mhaya/extend/reflect"
- cfacade "github.com/mhaya/facade"
- )
- type (
- IActorLoader interface {
- load(actor Actor)
- }
- )
- type (
- IEvent interface {
- Register(name string, fn IEventFunc) // 注册事件
- Registers(names []string, fn IEventFunc) // 注册多个事件
- Unregister(name string) // 注销事件
- }
- IEventFunc func(cfacade.IEventData) // 接收事件数据时的处理函数
- )
- type (
- IMailBox interface {
- Register(funcName string, fn interface{}) // 注册执行函数
- GetFuncInfo(funcName string) (*creflect.FuncInfo, bool)
- }
- )
- type (
- ITimer interface {
- Add(d time.Duration, fn func(), async ...bool) uint64 // 添加定时器,循环执行
- AddOnce(d time.Duration, fn func(), async ...bool) uint64 // 添加定时器,执行一次
- AddFixedHour(hour, minute, second int, fn func(), async ...bool) uint64 // 固定x小时x分x秒,循环执行
- AddFixedMinute(minute, second int, fn func(), async ...bool) uint64 // 固定x分x秒,循环执行
- AddSchedule(s ITimerSchedule, f func(), async ...bool) uint64 // 添加自定义调度
- Remove(id uint64) // 移除定时器
- RemoveAll() // 移除所有定时器
- }
- ITimerSchedule interface {
- Next(time.Time) time.Time
- }
- )
|