WireEventManager
@blobs/sdk / events / WireEventManager
Defined in: events/WireEventManager.ts:159
Unified subscription manager for server-pushed wire events.
WireEventManager is the single place every SDK service registers event
subscriptions. It de-duplicates transport-level listeners (one underlying
subscription per distinct event), supports prefix-wildcard patterns,
buffers messages with no current subscribers in a small ring buffer for
late mounts, and routes typed transport errors via onError.
Example
const off = events.on<BlobCreatedPayload>('blob.created', (payload, meta) => { console.log('blob created on', meta.networkId, payload.id);});// lateroff();Constructors
Constructor
new WireEventManager(
ctx,options?):WireEventManager
Defined in: events/WireEventManager.ts:173
Parameters
ctx
The shared BlobsContext used to resolve transports.
options?
Optional WireEventManagerOptions overrides.
Returns
WireEventManager
Methods
on()
on<
T>(pattern,handler,options?):Unsubscribe
Defined in: events/WireEventManager.ts:202
Subscribes to a wire event. The pattern can be exact
('blob.created'), prefix-wildcard ('blob.*'), or the global
wildcard ('*'). For exact patterns, the manager opens an underlying
transport subscription immediately; wildcard patterns piggyback on
any subscriptions already opened by exact handlers.
Type Parameters
T
T = unknown
Expected payload shape; the SDK provides typed re-exports per event so consumers get inference at the call site.
Parameters
pattern
string
Event name or wildcard pattern to subscribe to.
handler
EventHandler<T>
Callback invoked for each matching event.
options?
Optional SubscribeOptions overrides.
Returns
An unsubscribe function; calling it removes this handler and, when no handlers remain for the exact event, releases the transport-level subscription.
Example
const off = events.on<BlobUpdatedPayload>('blob.updated', (blob) => { syncToCache(blob);});onError()
onError<
E>(cls,handler):Unsubscribe
Defined in: events/WireEventManager.ts:257
Subscribes to transport errors of a specific ApiError subclass
(or the base class to catch every error). Routing is instanceof based.
Type Parameters
E
E extends ApiError
The ApiError subclass to route on.
Parameters
cls
(…args) => E
The error class constructor to match.
handler
ErrorHandler<E>
Callback invoked when a matching error arrives.
Returns
An unsubscribe function.
Example
events.onError(PermissionError, err => toast('Permission denied'));events.onError(ApiError, err => log(err));emit()
emit(
event,payload,extra?):void
Defined in: events/WireEventManager.ts:279
Emits a locally-produced event (e.g. the client optimistically marks
a blob as deleted). Routed identically to a transport message, but
tagged with source: 'local' in the EventMeta.
Parameters
event
string
The event name to dispatch.
payload
unknown
The payload delivered to subscribers.
extra?
Partial<EventMeta>
Optional EventMeta overrides (e.g. requestId).
Returns
void
receive()
receive(
message):void
Defined in: events/WireEventManager.ts:295
Bridge entry point used by transports to push a wire message into the manager. Most consumers do not call this directly.
Parameters
message
IncomingMessage
The incoming message with event name, payload, and meta.
Returns
void
receiveError()
receiveError(
raw,meta?):void
Defined in: events/WireEventManager.ts:308
Routes an error originating from a transport. Normalizes arbitrary error shapes into ApiError (falling back to TransportError) and delivers to matching onError subscribers.
Parameters
raw
unknown
The raw error value as received from the transport.
meta?
Partial<EventMeta> = {}
Optional EventMeta overrides.
Returns
void
dispose()
dispose():
void
Defined in: events/WireEventManager.ts:435
Releases every transport subscription, clears handler registries, and empties the replay buffers. Call when tearing down the SDK to avoid leaking transport listeners.
Returns
void