event

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrEventBusAlreadyStarted indicates event bus already started.
	ErrEventBusAlreadyStarted = errors.New("event bus already started")
	// ErrShutdownTimeoutExceeded indicates shutdown wait timeout.
	ErrShutdownTimeoutExceeded = errors.New("shutdown timeout exceeded")
)
View Source
var (
	Module = fx.Module(
		"vef:event",
		fx.Provide(
			fx.Annotate(
				createMemoryBus,
				fx.ParamTags(``, `group:"vef:event:middlewares"`),
				fx.As(fx.Self()),
				fx.As(new(event.Subscriber)),
				fx.As(new(event.Publisher)),
			),
		),
	)
)

Functions

func NewMemoryBus

func NewMemoryBus(middlewares []event.Middleware) event.Bus

NewMemoryBus creates an in-memory event bus.

Types

type MemoryBus

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

MemoryBus is a simple, thread-safe in-memory event bus implementation.

func (*MemoryBus) Publish

func (b *MemoryBus) Publish(evt event.Event)

Publish publishes an event asynchronously.

func (*MemoryBus) Shutdown

func (b *MemoryBus) Shutdown(ctx context.Context) error

Shutdown gracefully shuts down the event bus.

func (*MemoryBus) Start

func (b *MemoryBus) Start() error

Start initializes and starts the event bus.

func (*MemoryBus) Subscribe

func (b *MemoryBus) Subscribe(eventType string, handler event.HandlerFunc) event.UnsubscribeFunc

Subscribe registers a handler for specific event types.

Jump to

Keyboard shortcuts

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