imq

package
v2.2.3 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2021 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TargetBroadcast = "*"
	TargetSelfInit  = "self-init"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Broker

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

func NewBroker

func NewBroker(defaultChanLen int) *Broker

func (*Broker) AddWorker

func (hub *Broker) AddWorker(name uwe.WorkerName) EventBus

func (*Broker) DefaultBus

func (hub *Broker) DefaultBus() SenderBus

func (*Broker) Init

func (hub *Broker) Init() error

func (*Broker) Run

func (hub *Broker) Run(ctx uwe.Context) error

type EventBus

type EventBus interface {
	context.Context
	SenderBus
	ReaderBus
}

func NewBus

func NewBus(ctx context.Context, name uwe.WorkerName, toWorker, fromWorker chan *Message) EventBus

type Message

type Message struct {
	Target uwe.WorkerName
	Sender uwe.WorkerName
	Kind   MessageKind
	Data   interface{}
}

type MessageKind

type MessageKind int

type ReaderBus

type ReaderBus interface {
	Messages() <-chan *Message
}

func NewReaderBus

func NewReaderBus(ctx context.Context, name uwe.WorkerName, toWorker chan *Message) ReaderBus

type SenderBus

type SenderBus interface {
	Send(target uwe.WorkerName, data interface{})
	SendWithKind(target uwe.WorkerName, kind MessageKind, data interface{})
	SendToMany(kind MessageKind, data interface{}, targets ...uwe.WorkerName)
	SelfInit(name uwe.WorkerName) EventBus
}

func NewSenderBus

func NewSenderBus(ctx context.Context, fromWorker chan<- *Message) SenderBus

Jump to

Keyboard shortcuts

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