event

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2026 License: BSD-3-Clause Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseProcesser

type BaseProcesser struct {
	Bus  *Bus
	Name string
}

BaseProcesser basic processer

func NewBaseProcesser

func NewBaseProcesser(name string) *BaseProcesser

NewBaseProcesser constructor

func (*BaseProcesser) CreateEvent

func (b *BaseProcesser) CreateEvent(name, strType string, data interface{}) *Event

CreateEvent create new event

func (*BaseProcesser) GetName

func (b *BaseProcesser) GetName() string

GetName return the processer name

func (*BaseProcesser) Init

func (b *BaseProcesser) Init(bus *Bus) (err error)

Init call before start

func (*BaseProcesser) Send

func (b *BaseProcesser) Send(name, strType string, data interface{})

Send send event

func (*BaseProcesser) SendWithExtra added in v0.0.6

func (b *BaseProcesser) SendWithExtra(name, strType string, data, extra interface{})

SendExtra send event with extra info

func (*BaseProcesser) Start

func (b *BaseProcesser) Start() (err error)

Start start the processer

func (*BaseProcesser) Stop

func (b *BaseProcesser) Stop() (err error)

Stop stop the processer

func (*BaseProcesser) Subscribe added in v0.0.5

func (b *BaseProcesser) Subscribe(sub string, cb ProcessCall) (err error)

Subscribe event

type Bus

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

Bus event bus

func NewBus

func NewBus(cache int) *Bus

func NewSyncBus added in v0.0.5

func NewSyncBus() *Bus

func (*Bus) Close

func (b *Bus) Close()

func (*Bus) Send

func (b *Bus) Send(e *Event) (err error)

func (*Bus) Start

func (b *Bus) Start()

func (*Bus) Subscribe

func (b *Bus) Subscribe(from, sub string, cb ProcessCall) (err error)

Subscribe event

func (*Bus) WaitEmpty

func (b *Bus) WaitEmpty(timeout time.Duration) bool

type ErrorCallback added in v0.1.3

type ErrorCallback func(error)

type Event

type Event struct {
	Data core.EventData
	Name string
	// Time time.Time
	From string
}

Event base event

func NewErrorEvent added in v0.0.5

func NewErrorEvent(from, msg string, err error) *Event

NewErrorEvent creates an error event without using the object pool, because error events may be referenced outside the Bus lifecycle and cannot be safely released back to the pool.

func NewEvent

func NewEvent(name, strType, from string, data interface{}, extra interface{}) *Event

func (*Event) GetData

func (e *Event) GetData() interface{}

func (*Event) GetExtra added in v0.0.6

func (e *Event) GetExtra() interface{}

func (*Event) GetFrom

func (e *Event) GetFrom() string

func (*Event) GetName

func (e *Event) GetName() string

func (*Event) GetType

func (e *Event) GetType() string

type ProcessCall

type ProcessCall func(e *Event) error

ProcessCall callback to process event

type ProcessCallInfo added in v0.0.5

type ProcessCallInfo struct {
	Cb   ProcessCall
	Name string
}

type ProcessList

type ProcessList []ProcessCallInfo

type Processer

type Processer interface {
	Init(*Bus) error
	GetName() string

	Start() error
	Stop() error
}

Processer handler of event

type Processers

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

Processers processers

func NewProcessers

func NewProcessers() *Processers

NewProcessers create default Processers

func NewSyncProcessers added in v0.0.5

func NewSyncProcessers() *Processers

NewSyncProcessers create sync Processers

func (*Processers) Add

func (h *Processers) Add(eh Processer) (err error)

Add add proocesser

func (*Processers) Adds

func (h *Processers) Adds(ehs ...Processer) (err error)

Adds add processer

func (*Processers) SetErrorCallback added in v0.1.3

func (h *Processers) SetErrorCallback(fn ErrorCallback)

func (*Processers) Start

func (h *Processers) Start() (err error)

Start start all processers

func (*Processers) Stop

func (h *Processers) Stop() (err error)

Stop stop all processers in reverse order (downstream consumers first)

func (*Processers) WaitClose

func (h *Processers) WaitClose(timeout time.Duration)

WaitClose wait for bus event queue to drain, then close with timeout safety

Jump to

Keyboard shortcuts

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