MessageDispatcher

Represents a message dispatcher that can run and dispatch messages.

A dispatcher is a named RuntimeComponent; me.ahoo.wow.runtime.WowRuntime is its lifecycle owner.

Implementations must keep construction inert: acquire resources and subscribe to message sources from prepare/start, after the canonical runtime owns the dispatcher. Long-lived asynchronous work must acquire a RuntimeActivity from the provided RuntimeContext, close intake from quiesce, and report terminal pipeline failures with reportFailure.

Inheritors

Properties

Link copied to clipboard
abstract val name: String

Functions

Link copied to clipboard
abstract fun forceStop()

Releases resources promptly without blocking, and remains safe before prepare and across repeated or overlapping calls.

Link copied to clipboard
abstract fun prepare(runtimeContext: RuntimeContext): Mono<Void>

Prepares this component without opening message processing.

Link copied to clipboard
open fun quiesce()

Stops admitting new work after the runtime has atomically closed global admission.

Link copied to clipboard
abstract fun start()
Link copied to clipboard
abstract fun stopGracefully(): Mono<Void>