event

package
v0.0.0-...-cda2eac Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 License: GPL-3.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// SubscriberModelNormal 普通模式
	SubscriberModelNormal = iota
	// SubscriberModelGoroutine 并发模式
	SubscriberModelGoroutine
)

SubscriberModel 消费者模式

View Source
const DefaultEventCenterName = "trellis::event::default-center"

DefaultEventCenterName default event center name

Variables

This section is empty.

Functions

func GenSubscriberID

func GenSubscriberID() string

GenSubscriberID 生成消费者ID

func ListEvents

func ListEvents() (events []string)

ListEvents 全部事件

func Publish

func Publish(eventName string, event ...interface{})

Publish 发布消息

func RegistEvent

func RegistEvent(eventNames ...string) error

RegistEvent 注册事件

func Unsubscribe

func Unsubscribe(eventName string, ids ...string) error

Unsubscribe 取消监听

Types

type Bus

type Bus interface {
	RegistEvent(eventNames ...string) error

	Subscribe(eventName string, fn func(...interface{})) (Subscriber, error)
	Unsubscribe(eventName string, ids ...string) error
	UnsubscribeAll(eventName string)

	Publish(eventName string, evt ...interface{})

	ListEvents() (events []string)
}

Bus xxx

func NewEventCenter

func NewEventCenter(name string) Bus

NewEventCenter xxx

type Center

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

Center xxx

func (*Center) ListEvents

func (p *Center) ListEvents() (events []string)

ListEvents 全部事件

func (*Center) Name

func (p *Center) Name() string

Name center name

func (*Center) Publish

func (p *Center) Publish(eventName string, evts ...interface{})

Publish 分发

func (*Center) RegistEvent

func (p *Center) RegistEvent(eventNames ...string) error

RegistEvent 注册事件

func (*Center) Subscribe

func (p *Center) Subscribe(eventName string, fn func(...interface{})) (Subscriber, error)

Subscribe 监听

func (*Center) Unsubscribe

func (p *Center) Unsubscribe(eventName string, ids ...string) error

Unsubscribe 取消监听

func (*Center) UnsubscribeAll

func (p *Center) UnsubscribeAll(eventName string)

UnsubscribeAll 取消全部监听

type GroupOption

type GroupOption func(*defSubscriberGroup)

GroupOption 操作配置函数

func GroupSubscriberModel

func GroupSubscriberModel(model int) GroupOption

GroupSubscriberModel 组的分享类型

type Subscriber

type Subscriber interface {
	GetID() string
	Publish(values ...interface{}) error
	Stop()
}

Subscriber 消费者

func NewDefSubscriber

func NewDefSubscriber(sub interface{}) (Subscriber, error)

NewDefSubscriber 生成默认的消费者

func Subscribe

func Subscribe(eventName string, fn func(...interface{})) (Subscriber, error)

Subscribe 监听

type SubscriberGroup

type SubscriberGroup interface {
	Subscriber(interface{}) (Subscriber, error)
	RemoveSubscriber(ids ...string) error
	Publish(values ...interface{}) error
	ClearSubscribers()
}

SubscriberGroup 消费者组

func NewSubscriberGroup

func NewSubscriberGroup(opts ...GroupOption) SubscriberGroup

NewSubscriberGroup xxx

Jump to

Keyboard shortcuts

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