Skip to content

Graphorin API reference v0.12.1


Graphorin API reference / @graphorin/server / / WsDispatcher

Interface: WsDispatcher

Defined in: packages/server/src/ws/dispatcher.ts:145

Public surface of the dispatcher.

Stable

Properties

PropertyModifierTypeDefined in
replayBufferreadonlyReplayBufferpackages/server/src/ws/dispatcher.ts:147
sanitizerreadonlyDeliveryCommentarySanitizerpackages/server/src/ws/dispatcher.ts:146

Methods

emit()

ts
emit(subject, frame): void;

Defined in: packages/server/src/ws/dispatcher.ts:178

Push an event into the dispatcher. Goes through the sanitizer, validates against the protocol schema, persists into the replay buffer, and fans out to every matching active subscription.

Parameters

ParameterType
subjectstring
frameBareEventFrame

Returns

void


emitLifecycle()

ts
emitLifecycle(
   subscriptionId, 
   status, 
   reason?): void;

Defined in: packages/server/src/ws/dispatcher.ts:180

Push a lifecycle frame to a single subscription.

Parameters

ParameterType
subscriptionIdstring
status"running" | "completed" | "failed" | "aborted" | "paused"
reason?string

Returns

void


listForSubscriber()

ts
listForSubscriber(subscriberId): readonly WsSubscriptionSnapshot[];

Defined in: packages/server/src/ws/dispatcher.ts:186

List active subscriptions for a given subscriber (diagnostics).

Parameters

ParameterType
subscriberIdstring

Returns

readonly WsSubscriptionSnapshot[]


registerSubscriber()

ts
registerSubscriber(handle): {
  unregister: void;
};

Defined in: packages/server/src/ws/dispatcher.ts:152

Register a subscriber (one per WebSocket connection). unregister is called on close.

Parameters

ParameterType
handleWsSubscriberHandle

Returns

ts
{
  unregister: void;
}
NameTypeDefined in
unregister()() => voidpackages/server/src/ws/dispatcher.ts:152

shutdown()

ts
shutdown(): void;

Defined in: packages/server/src/ws/dispatcher.ts:190

Clear in-memory state (used during graceful shutdown).

Returns

void


size()

ts
size(): {
  subscribers: number;
  subscriptions: number;
};

Defined in: packages/server/src/ws/dispatcher.ts:188

Returns

ts
{
  subscribers: number;
  subscriptions: number;
}
NameTypeDefined in
subscribersnumberpackages/server/src/ws/dispatcher.ts:188
subscriptionsnumberpackages/server/src/ws/dispatcher.ts:188

snapshotSubscription()

ts
snapshotSubscription(subscriptionId): 
  | WsSubscriptionSnapshot
  | undefined;

Defined in: packages/server/src/ws/dispatcher.ts:187

Parameters

ParameterType
subscriptionIdstring

Returns

| WsSubscriptionSnapshot | undefined


subscribe()

ts
subscribe(input): SubscribeResult;

Defined in: packages/server/src/ws/dispatcher.ts:165

Open a new subscription for an active subscriber. Returns either the subscription snapshot + replayed-event count or a typed failure reason the caller maps to the appropriate close code / RPC error.

E-02 (S-15/8): with deferReplay: true the buffered frames are captured but NOT delivered; the caller must invoke the returned dispatchReplay() once its acknowledgement (e.g. the subscribe RPC reply) is on the wire, so clients that key their subscription map off that reply do not drop the replayed frames.

Parameters

ParameterType
input{ deferReplay?: boolean; sinceEventId?: string; subject: string; subscriberId: string; subscriptionId: string; }
input.deferReplay?boolean
input.sinceEventId?string
input.subjectstring
input.subscriberIdstring
input.subscriptionIdstring

Returns

SubscribeResult


unsubscribe()

ts
unsubscribe(subscriptionId): boolean;

Defined in: packages/server/src/ws/dispatcher.ts:172

Parameters

ParameterType
subscriptionIdstring

Returns

boolean