Documentation
¶
Index ¶
- Constants
- func AddJsonDataToTimerEvent(channel string, data any, time time.Time) error
- func AddLoopTimerEvent(channel string, data string, time time.Time, loop int64)
- func AddManyTimerEvent(event []TimerEvent)
- func AddTimerEvent(channel string, data string, time time.Time)
- func FireTrigger(key string, data string)
- func GetBoolValue(k string) (bool, error)
- func GetJsonValue(k string, data any) error
- func GetValue(k string) (string, error)
- func PubEvent(channel string, data string)
- func PubEventJson(channel string, data any) error
- func RemValue(k string)
- func SetBoolValue(k string, v bool)
- func SetEventBuffer(b int)
- func SetEventHandler(channel string, handler JobHandler)
- func SetJsonValue(k string, data any) error
- func SetTrigger(key string, handler JobHandler)
- func SetTriggerBuffer(buffer int)
- func SetValue(k string, v string)
- func StartEventListener(ctx context.Context)
- func StartTimerEventListener(ctx context.Context)
- func TriggerStart(ctx context.Context)
- type ChannelData
- type ChannelQueue
- type JobHandler
- type JobRouter
- type PubSub
- type Sleeper
- type SubCtx
- type TimerEvent
- type TimerEventHandler
- type TimerEventHeap
- func (h *TimerEventHeap) Extract() (TimerEvent, error)
- func (h *TimerEventHeap) InitEvent(event []TimerEvent)
- func (h *TimerEventHeap) Insert(event TimerEvent)
- func (h TimerEventHeap) Len() int
- func (h TimerEventHeap) Less(i, j int) bool
- func (h *TimerEventHeap) LoadMoreEvent(event []TimerEvent)
- func (h *TimerEventHeap) Pop() interface{}
- func (h *TimerEventHeap) Push(x interface{})
- func (h TimerEventHeap) Swap(i, j int)
- func (h *TimerEventHeap) Update()
- type Trigger
- type Value
Constants ¶
View Source
const ( BoolTrue = "True" BoolFalse = "False" )
Variables ¶
This section is empty.
Functions ¶
func AddJsonDataToTimerEvent ¶ added in v0.1.8
add json data to timer heap
func AddLoopTimerEvent ¶ added in v0.1.8
add loop timer event, loop in second
func AddManyTimerEvent ¶ added in v0.1.8
func AddManyTimerEvent(event []TimerEvent)
add many event to timer heap, can be used in initializing heap data
func AddTimerEvent ¶ added in v0.1.8
add channel and data to timer heap
func FireTrigger ¶ added in v0.1.5
func GetBoolValue ¶ added in v0.0.11
func GetJsonValue ¶ added in v0.0.11
func PubEventJson ¶ added in v0.1.8
pub json data to queue
func SetBoolValue ¶ added in v0.0.11
func SetEventBuffer ¶ added in v0.1.8
func SetEventBuffer(b int)
🔥 this should be set before any queue usage
func SetEventHandler ¶ added in v0.0.19
func SetEventHandler(channel string, handler JobHandler)
func SetJsonValue ¶ added in v0.0.11
func SetTrigger ¶ added in v0.1.5
func SetTrigger(key string, handler JobHandler)
echo just one router
func SetTriggerBuffer ¶ added in v0.1.5
func SetTriggerBuffer(buffer int)
🔥 this should be set before any trigger usage
func StartEventListener ¶ added in v0.1.8
func StartTimerEventListener ¶ added in v0.1.8
run timer heap, this will block
func TriggerStart ¶ added in v0.1.5
Types ¶
type ChannelData ¶ added in v0.0.17
func GetChannelDataFromJson ¶ added in v0.0.17
func GetChannelDataFromJson(j string) (*ChannelData, error)
type ChannelQueue ¶ added in v0.0.17
type ChannelQueue struct { // JobRouter DataChannel chan ChannelData }
func NewChannelQueue ¶ added in v0.0.17
func NewChannelQueue(buffer int) *ChannelQueue
new channel queue
func (*ChannelQueue) Consume ¶ added in v0.0.17
func (queue *ChannelQueue) Consume(ctx context.Context, router *JobRouter)
consume
func (*ChannelQueue) Pub ¶ added in v0.0.17
func (queue *ChannelQueue) Pub(channelData ChannelData)
insert data
type JobHandler ¶ added in v0.0.11
type JobHandler func(*SubCtx)
type JobRouter ¶ added in v0.0.13
type JobRouter struct { Handlers map[string]JobHandler // contains filtered or unexported fields }
func (*JobRouter) Set ¶ added in v0.0.13
func (r *JobRouter) Set(channel string, handler JobHandler)
type PubSub ¶ added in v0.2.0
type PubSub struct { //use map chan to support multiple subscription Pools map[string]chan T Rmt sync.RWMutex }
pub sub staleless single block
type TimerEvent ¶ added in v0.0.13
type TimerEventHandler ¶ added in v0.0.13
type TimerEventHandler func(TimerEvent) error
type TimerEventHeap ¶ added in v0.0.13
type TimerEventHeap struct { Event []TimerEvent Recent int64 Remain int }
func NewTimerHeap ¶ added in v0.0.13
func NewTimerHeap() *TimerEventHeap
func (*TimerEventHeap) Extract ¶ added in v0.0.13
func (h *TimerEventHeap) Extract() (TimerEvent, error)
func (*TimerEventHeap) InitEvent ¶ added in v0.0.13
func (h *TimerEventHeap) InitEvent(event []TimerEvent)
func (*TimerEventHeap) Insert ¶ added in v0.0.13
func (h *TimerEventHeap) Insert(event TimerEvent)
func (TimerEventHeap) Len ¶ added in v0.0.13
func (h TimerEventHeap) Len() int
func (TimerEventHeap) Less ¶ added in v0.0.13
func (h TimerEventHeap) Less(i, j int) bool
func (*TimerEventHeap) LoadMoreEvent ¶ added in v0.0.13
func (h *TimerEventHeap) LoadMoreEvent(event []TimerEvent)
func (*TimerEventHeap) Pop ¶ added in v0.0.13
func (h *TimerEventHeap) Pop() interface{}
func (*TimerEventHeap) Push ¶ added in v0.0.13
func (h *TimerEventHeap) Push(x interface{})
func (TimerEventHeap) Swap ¶ added in v0.0.13
func (h TimerEventHeap) Swap(i, j int)
func (*TimerEventHeap) Update ¶ added in v0.0.13
func (h *TimerEventHeap) Update()
type Trigger ¶ added in v0.1.5
type Trigger struct { JobRouter Data chan ChannelData Mtx sync.RWMutex }
func NewTrigger ¶ added in v0.1.5
func (*Trigger) Fire ¶ added in v0.1.5
func (trigger *Trigger) Fire(data ChannelData)
func (*Trigger) Register ¶ added in v0.1.5
func (trigger *Trigger) Register(key string, handler JobHandler)
type Value ¶ added in v0.0.11
type Value struct {
Data string
}
func (*Value) GetJsonData ¶ added in v0.0.11
Click to show internal directories.
Click to hide internal directories.