eventbus

package
v1.6.2 Latest Latest
Warning

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

Go to latest
Published: May 14, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package eventbus provides a portable event bus API with cross-cutting concerns.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventBus

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

EventBus is the portable event bus type wrapping a driver with cross-cutting concerns.

func NewEventBus

func NewEventBus(d driver.EventBus, opts ...Option) *EventBus

NewEventBus creates a new portable EventBus wrapping the given driver.

func (*EventBus) CreateEventBus

func (eb *EventBus) CreateEventBus(ctx context.Context, config driver.EventBusConfig) (*driver.EventBusInfo, error)

CreateEventBus creates a new event bus.

func (*EventBus) DeleteEventBus

func (eb *EventBus) DeleteEventBus(ctx context.Context, name string) error

DeleteEventBus deletes an event bus.

func (*EventBus) DeleteRule

func (eb *EventBus) DeleteRule(ctx context.Context, eventBus, ruleName string) error

DeleteRule deletes a rule.

func (*EventBus) DisableRule

func (eb *EventBus) DisableRule(ctx context.Context, eventBus, ruleName string) error

DisableRule disables a rule.

func (*EventBus) EnableRule

func (eb *EventBus) EnableRule(ctx context.Context, eventBus, ruleName string) error

EnableRule enables a rule.

func (*EventBus) GetEventBus

func (eb *EventBus) GetEventBus(ctx context.Context, name string) (*driver.EventBusInfo, error)

GetEventBus retrieves event bus info.

func (*EventBus) GetEventHistory

func (eb *EventBus) GetEventHistory(ctx context.Context, eventBus string, limit int) ([]driver.Event, error)

GetEventHistory retrieves event history for replay.

func (*EventBus) GetRule

func (eb *EventBus) GetRule(ctx context.Context, eventBus, ruleName string) (*driver.Rule, error)

GetRule retrieves a rule.

func (*EventBus) ListEventBuses

func (eb *EventBus) ListEventBuses(ctx context.Context) ([]driver.EventBusInfo, error)

ListEventBuses lists all event buses.

func (*EventBus) ListRules

func (eb *EventBus) ListRules(ctx context.Context, eventBus string) ([]driver.Rule, error)

ListRules lists all rules for an event bus.

func (*EventBus) ListTargets

func (eb *EventBus) ListTargets(ctx context.Context, eventBus, ruleName string) ([]driver.Target, error)

ListTargets lists targets for a rule.

func (*EventBus) PutEvents

func (eb *EventBus) PutEvents(ctx context.Context, events []driver.Event) (*driver.PublishResult, error)

PutEvents publishes events to the event bus.

func (*EventBus) PutRule

func (eb *EventBus) PutRule(ctx context.Context, config *driver.RuleConfig) (*driver.Rule, error)

PutRule creates or updates a rule.

func (*EventBus) PutTargets

func (eb *EventBus) PutTargets(
	ctx context.Context, eventBus, ruleName string, targets []driver.Target,
) error

PutTargets adds targets to a rule.

func (*EventBus) RemoveTargets

func (eb *EventBus) RemoveTargets(ctx context.Context, eventBus, ruleName string, targetIDs []string) error

RemoveTargets removes targets from a rule.

type Option

type Option func(*EventBus)

Option configures a portable EventBus.

func WithErrorInjection

func WithErrorInjection(i *inject.Injector) Option

WithErrorInjection sets the error injector.

func WithLatency

func WithLatency(d time.Duration) Option

WithLatency sets simulated latency.

func WithMetrics

func WithMetrics(m *metrics.Collector) Option

WithMetrics sets the metrics collector.

func WithRateLimiter

func WithRateLimiter(l *ratelimit.Limiter) Option

WithRateLimiter sets the rate limiter.

func WithRecorder

func WithRecorder(r *recorder.Recorder) Option

WithRecorder sets the recorder.

Directories

Path Synopsis
Package driver defines the interface for event bus service implementations.
Package driver defines the interface for event bus service implementations.

Jump to

Keyboard shortcuts

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