mediator

package
v0.10.3 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2026 License: Apache-2.0 Imports: 7 Imported by: 5

Documentation

Overview

Package mediator provides the legacy in-process mediator.

Deprecated: use github.com/go-jimu/components/ddd/event for new domain event code. Package mediator is kept for backward compatibility and will only receive compatibility fixes.

Index

Constants

This section is empty.

Variables

View Source
var (

	// Deprecated: use github.com/go-jimu/components/ddd/event.Dispatcher return
	// values for new domain event code.
	ErrMediatorClosed = errors.New("mediator is closed")
	// Deprecated: use github.com/go-jimu/components/ddd/event.WithUnhandledEventHandler
	// for new domain event code.
	ErrNoHandlerMatched = errors.New("no matching event handler found")
)

Functions

func Dispatch deprecated

func Dispatch(ev Event)

Deprecated: use explicit github.com/go-jimu/components/ddd/event.Dispatcher instances for new domain event code.

func SetDefault deprecated

func SetDefault(m Mediator)

SetDefault sets the default global mediator.

Deprecated: use explicit github.com/go-jimu/components/ddd/event.Dispatcher instances for new domain event code.

func Subscribe deprecated

func Subscribe(hdl EventHandler)

Deprecated: use explicit github.com/go-jimu/components/ddd/event.Dispatcher instances for new domain event code.

Types

type Event deprecated

type Event interface {
	Kind() EventKind
}

Event 事件接口.

Deprecated: use github.com/go-jimu/components/ddd/event.Event for new domain event code.

type EventCollection deprecated

type EventCollection interface {
	Add(Event)
	Raise(Mediator)
	AsyncRaise(Mediator)
}

Deprecated: use github.com/go-jimu/components/ddd/event.Collection for new domain event code.

func NewEventCollection deprecated

func NewEventCollection() EventCollection

Deprecated: use github.com/go-jimu/components/ddd/event.NewCollection for new domain event code.

type EventHandler deprecated

type EventHandler interface {
	Listening() []EventKind
	Handle(context.Context, Event)
}

Deprecated: use github.com/go-jimu/components/ddd/event.Handler for new domain event code.

type EventKind deprecated

type EventKind string

EventKind 事件类型描述.

Deprecated: use github.com/go-jimu/components/ddd/event.Kind for new domain event code.

type InMemMediator deprecated

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

InMemMediator is a simple in-memory mediator implementation.

Deprecated: use github.com/go-jimu/components/ddd/event.NewDispatcher for new domain event code.

func (*InMemMediator) Dispatch

func (m *InMemMediator) Dispatch(ev Event) error

Dispatch dispatches an event to the mediator.

func (*InMemMediator) GracefulShutdown added in v0.6.3

func (m *InMemMediator) GracefulShutdown(ctx context.Context) error

GracefulShutdown waits for all the events to be processed and then closes the mediator. The caller controls the maximum wait time via ctx.

func (*InMemMediator) Subscribe

func (m *InMemMediator) Subscribe(hdl EventHandler)

Subscribe registers an event handler to the mediator.

func (*InMemMediator) WithDelayClose deprecated added in v0.7.2

func (m *InMemMediator) WithDelayClose(d time.Duration)

Deprecated: Use WithDelayClose Option in NewInMemMediator instead.

func (*InMemMediator) WithGenContext deprecated added in v0.5.11

func (m *InMemMediator) WithGenContext(fn func(ctx context.Context, ev Event) context.Context)

Deprecated: Use WithGenContext Option in NewInMemMediator instead.

func (*InMemMediator) WithLogger deprecated added in v0.6.1

func (m *InMemMediator) WithLogger(logger *slog.Logger)

Deprecated: Use WithLogger Option in NewInMemMediator instead.

func (*InMemMediator) WithOrphanEventHandler deprecated

func (m *InMemMediator) WithOrphanEventHandler(fn func(Event) error)

Deprecated: Use WithOrphanEventHandler Option in NewInMemMediator instead.

func (*InMemMediator) WithTimeout deprecated added in v0.5.11

func (m *InMemMediator) WithTimeout(timeout time.Duration)

Deprecated: Use WithTimeout Option in NewInMemMediator instead.

type Mediator deprecated

type Mediator interface {
	Dispatch(Event) error
	Subscribe(EventHandler)
}

Mediator is the interface that wraps the methods of a mediator.

Deprecated: use github.com/go-jimu/components/ddd/event.Dispatcher for new domain event code.

func Default deprecated

func Default() Mediator

Deprecated: use explicit github.com/go-jimu/components/ddd/event.Dispatcher instances for new domain event code.

func NewInMemMediator deprecated

func NewInMemMediator(opt Options, opts ...Option) Mediator

Deprecated: use github.com/go-jimu/components/ddd/event.NewDispatcher for new domain event code.

type Option deprecated added in v0.1.1

type Option func(*InMemMediator)

Option configures an InMemMediator during construction.

Deprecated: use github.com/go-jimu/components/ddd/event options for new domain event code.

func WithDelayClose deprecated added in v0.7.2

func WithDelayClose(d time.Duration) Option

WithDelayClose sets the delay before the mediator starts rejecting new events during shutdown.

Deprecated: use github.com/go-jimu/components/ddd/event.WithDelayClose for new domain event code.

func WithGenContext deprecated added in v0.7.2

func WithGenContext(fn func(ctx context.Context, ev Event) context.Context) Option

WithGenContext sets a function to derive a new context for each event dispatch.

Deprecated: use github.com/go-jimu/components/ddd/event.WithContextFactory for new domain event code.

func WithLogger deprecated added in v0.7.2

func WithLogger(logger *slog.Logger) Option

WithLogger sets the logger for the mediator.

Deprecated: use github.com/go-jimu/components/ddd/event.WithLogger for new domain event code.

func WithOrphanEventHandler deprecated added in v0.1.1

func WithOrphanEventHandler(fn func(Event) error) Option

WithOrphanEventHandler sets a fallback handler for events with no registered handler.

Deprecated: use github.com/go-jimu/components/ddd/event.WithUnhandledEventHandler for new domain event code.

func WithTimeout deprecated added in v0.7.2

func WithTimeout(timeout time.Duration) Option

WithTimeout sets the context timeout for each handler invocation.

Deprecated: use github.com/go-jimu/components/ddd/event.WithHandlerTimeout for new domain event code.

type Options deprecated

type Options struct {
	Timeout    string `json:"timeout" yaml:"timeout" toml:"timeout"`
	Concurrent int    `json:"concurrent" yaml:"concurrent" toml:"concurrent"`
}

Options is the options for the mediator.

Deprecated: use github.com/go-jimu/components/ddd/event options for new domain event code.

Jump to

Keyboard shortcuts

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