event

package
v1.18.1 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ServiceEventDispatcher = "service.event.dispatcher"
)

Variables

This section is empty.

Functions

func EventDispatcherMustFromContainer

func EventDispatcherMustFromContainer(serviceContainer containercontract.Container) eventcontract.EventDispatcher

func EventDispatcherMustFromResolver

func EventDispatcherMustFromResolver(resolver containercontract.Resolver) eventcontract.EventDispatcher

Types

type Event

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

func NewEvent

func NewEvent(
	name string,
	payload any,
	clockInstance clockcontract.Clock,
) *Event

func NewEventFromEvent

func NewEventFromEvent(event eventcontract.Event) *Event

func NewEventWithTimestamp

func NewEventWithTimestamp(name string, payload any, timestamp time.Time) *Event

func (*Event) IsPropagationStopped

func (instance *Event) IsPropagationStopped() bool

func (*Event) Name

func (instance *Event) Name() string

func (*Event) Payload

func (instance *Event) Payload() any

func (*Event) StopPropagation

func (instance *Event) StopPropagation()

func (*Event) Timestamp

func (instance *Event) Timestamp() time.Time

type EventDispatcher

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

func NewEventDispatcher

func NewEventDispatcher(clock clockcontract.Clock) *EventDispatcher

func (*EventDispatcher) AddListener

func (instance *EventDispatcher) AddListener(
	eventName string,
	listener eventcontract.EventListener,
	priority int,
) eventcontract.ListenerRegistration

func (*EventDispatcher) AddSubscriber

func (instance *EventDispatcher) AddSubscriber(subscriber eventcontract.EventSubscriber)

func (*EventDispatcher) Dispatch

func (instance *EventDispatcher) Dispatch(runtimeInstance runtimecontract.Runtime, event eventcontract.Event) (eventcontract.Event, error)

func (*EventDispatcher) DispatchName

func (instance *EventDispatcher) DispatchName(runtimeInstance runtimecontract.Runtime, eventName string, payload any) (eventcontract.Event, error)

func (*EventDispatcher) MarkListenerMaySkipRequiredListeners added in v1.15.0

func (instance *EventDispatcher) MarkListenerMaySkipRequiredListeners(registration eventcontract.ListenerRegistration)

MarkListenerMaySkipRequiredListeners flags the registered listener so that when it stops propagation it is allowed to skip required listeners behind it without failing dispatch — the explicit opt-out that restores the plain stop-and-proceed behavior for a listener that knowingly short-circuits.

func (*EventDispatcher) MarkListenerRequired added in v1.15.0

func (instance *EventDispatcher) MarkListenerRequired(registration eventcontract.ListenerRegistration)

MarkListenerRequired flags the registered listener so that if another listener stops event propagation before it runs, dispatch returns an error and the caller can fail closed. A no-op if the registration is unknown (for example already removed).

func (*EventDispatcher) RegisteredEvents

func (instance *EventDispatcher) RegisteredEvents() []eventcontract.RegisteredEvent

func (*EventDispatcher) RemoveListener

func (instance *EventDispatcher) RemoveListener(registration eventcontract.ListenerRegistration) bool

func (*EventDispatcher) RemoveSubscriber

func (instance *EventDispatcher) RemoveSubscriber(subscriber eventcontract.EventSubscriber) int

type EventDispatcherAdapter

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

func NewEventDispatcherAdapter

func NewEventDispatcherAdapter(
	eventDispatcher eventcontract.EventDispatcher,
	clock clockcontract.Clock,
) *EventDispatcherAdapter

func (*EventDispatcherAdapter) AddListener

func (instance *EventDispatcherAdapter) AddListener(eventName string, listener eventcontract.EventListener, priority int) eventcontract.ListenerRegistration

func (*EventDispatcherAdapter) AddSubscriber

func (instance *EventDispatcherAdapter) AddSubscriber(subscriber eventcontract.EventSubscriber)

func (*EventDispatcherAdapter) Dispatch

func (instance *EventDispatcherAdapter) Dispatch(runtimeInstance runtimecontract.Runtime, eventValue eventcontract.Event) (eventcontract.Event, error)

func (*EventDispatcherAdapter) DispatchName

func (instance *EventDispatcherAdapter) DispatchName(runtimeInstance runtimecontract.Runtime, eventName string, payload any) (eventcontract.Event, error)

func (*EventDispatcherAdapter) MarkListenerMaySkipRequiredListeners added in v1.15.0

func (instance *EventDispatcherAdapter) MarkListenerMaySkipRequiredListeners(registration eventcontract.ListenerRegistration)

MarkListenerMaySkipRequiredListeners forwards to the wrapped dispatcher when it supports required-listener registration; a no-op otherwise.

func (*EventDispatcherAdapter) MarkListenerRequired added in v1.15.0

func (instance *EventDispatcherAdapter) MarkListenerRequired(registration eventcontract.ListenerRegistration)

MarkListenerRequired forwards to the wrapped dispatcher when it supports required-listener registration; a no-op otherwise, so the adapter stays usable over a dispatcher that does not implement it.

func (*EventDispatcherAdapter) RegisteredEvents

func (instance *EventDispatcherAdapter) RegisteredEvents() []eventcontract.RegisteredEvent

func (*EventDispatcherAdapter) RemoveListener

func (instance *EventDispatcherAdapter) RemoveListener(registration eventcontract.ListenerRegistration) bool

func (*EventDispatcherAdapter) RemoveSubscriber

func (instance *EventDispatcherAdapter) RemoveSubscriber(subscriber eventcontract.EventSubscriber) int

type SubscribedEvent

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

func NewSubscribedEvent

func NewSubscribedEvent(
	listener eventcontract.EventListener,
	priority int,
) *SubscribedEvent

func (*SubscribedEvent) Listener

func (instance *SubscribedEvent) Listener() eventcontract.EventListener

func (*SubscribedEvent) Priority

func (instance *SubscribedEvent) Priority() int

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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