EventBus
Defined in: src/hooks/event-bus.ts:25
Central event bus for transport lifecycle notifications.
Dispatches events to user-provided hooks. Events without a registered hook are silently ignored — no default logging.
Example
const bus = new EventBus(logger, {
[TransportEvent.Error]: (err) => sentry.captureException(err),
});
bus.emit(TransportEvent.Error, new Error('timeout'), 'rpc-router');
// → calls sentry
bus.emit(TransportEvent.Connect, 'nats://localhost:4222');
// → no-op (no hook registered)
Constructors
Constructor
new EventBus(
logger,hooks?):EventBus
Defined in: src/hooks/event-bus.ts:29
Parameters
logger
Logger
hooks?
Partial<TransportHooks>
Returns
EventBus
Methods
emit()
emit<
K>(event, ...args):void
Defined in: src/hooks/event-bus.ts:40
Emit a lifecycle event. Dispatches to custom hook if registered, otherwise no-op.
Type Parameters
K
K extends keyof TransportHooks
Parameters
event
K
The TransportEvent to emit.
args
...Parameters<TransportHooks[K]>
Arguments matching the hook signature for this event.
Returns
void
emitMessageRouted()
emitMessageRouted(
subject,kind):void
Defined in: src/hooks/event-bus.ts:55
Hot-path optimized emit for MessageRouted events.
Avoids rest/spread overhead of the generic emit().
Parameters
subject
string
kind
Returns
void