event

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2023 License: BSD-3-Clause Imports: 7 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()

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

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

func (*Processers) WaitClose

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

WaitClose wait for duration after bus is empty,and then close

Jump to

Keyboard shortcuts

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