Session
Defined in: packages/net-core/src/session.ts:73
Peer-symmetric protocol session.
Owns a FrameLink, an ExchangeRegistry for requests this side has issued, and the lifecycle that ties them together. There is no client/server type split: many protocols — RTMP, AMQP, MQTT, WebSocket, IRC — have both peers issuing and answering requests, so a client is simply a session that registers no inbound handlers and a server one that never issues requests.
Subclasses implement routeFrame to decide, per frame, whether it belongs to an outstanding exchange, is an unsolicited server message, or both.
Extends
Section titled “Extends”EventDispatcherMapBase<Events>
Type Parameters
Section titled “Type Parameters”In
Inbound frame type.
Out
Outbound frame type.
Events
Section titled “Events”Events extends BaseSessionEvents
Protocol-specific event map, extending BaseSessionEvents.
Key = unknown
Accessors
Section titled “Accessors”buffered
Section titled “buffered”Get Signature
Section titled “Get Signature”get buffered():
number
Defined in: packages/net-core/src/session.ts:243
Bytes received but not yet decoded.
Returns
Section titled “Returns”number
pendingExchanges
Section titled “pendingExchanges”Get Signature
Section titled “Get Signature”get pendingExchanges():
number
Defined in: packages/net-core/src/session.ts:248
Number of outstanding exchanges, including abort tombstones.
Returns
Section titled “Returns”number
Methods
Section titled “Methods”[asyncDispose]()
Section titled “[asyncDispose]()”[asyncDispose]():
Promise<void>
Defined in: packages/net-core/src/session.ts:277
Destroys the session, so it can be used with await using.
Returns
Section titled “Returns”Promise<void>
destroy()
Section titled “destroy()”destroy(
error?):void
Defined in: packages/net-core/src/session.ts:271
Tear the session down, rejecting every outstanding exchange.
Rejection happens here rather than relying on the transport emitting
close, so callers are never left with promises that hang against a
transport that closes silently.
Parameters
Section titled “Parameters”error?
Section titled “error?”unknown
Optional cause reported to outstanding exchanges.
Returns
Section titled “Returns”void
end():
Promise<void>
Defined in: packages/net-core/src/session.ts:258
Half-close the outbound direction and flush pending writes.
Prefer this over destroy for protocols with a farewell command, so the peer sees an orderly shutdown.
Returns
Section titled “Returns”Promise<void>
isSubscribed()
Section titled “isSubscribed()”isSubscribed<
K>(event,listener):boolean
Defined in: packages/async/src/events/event-dispatcher-map-base.ts:38
Check if a callback is subscribed to a specific event.
Type Parameters
Section titled “Type Parameters”K extends string | number | symbol
Parameters
Section titled “Parameters”K
The event name.
listener
Section titled “listener”Callable<Events[K]>
The callback to check.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”EventDispatcherMapBase.isSubscribed
subscribe()
Section titled “subscribe()”subscribe<
K>(event,listener,options?):Callable|null
Defined in: packages/async/src/events/event-dispatcher-map-base.ts:23
Type Parameters
Section titled “Type Parameters”K extends string | number | symbol
Parameters
Section titled “Parameters”K
listener
Section titled “listener”Callable<Events[K]>
options?
Section titled “options?”EventDispatcherSubscribeOptions
Returns
Section titled “Returns”Callable | null
Inherited from
Section titled “Inherited from”EventDispatcherMapBase.subscribe
unsubscribe()
Section titled “unsubscribe()”unsubscribe<
K>(event,listener):void
Defined in: packages/async/src/events/event-dispatcher-map-base.ts:31
Unsubscribe a callback from a specific event.
Type Parameters
Section titled “Type Parameters”K extends string | number | symbol
Parameters
Section titled “Parameters”K
The event name.
listener
Section titled “listener”Callable<Events[K]>
The callback to remove.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”EventDispatcherMapBase.unsubscribe
wait()
Section titled “wait()”wait<
K>(event,options?):Promise<Events[K]>
Defined in: packages/async/src/events/event-dispatcher-map-base.ts:45
Wait for the next occurrence of a specific event, optionally matching a predicate.
This is a convenience method that subscribes to the dispatcher, waits for the next event that matches the predicate (if provided), and then unsubscribes automatically.
Type Parameters
Section titled “Type Parameters”K extends string | number | symbol
Parameters
Section titled “Parameters”K
The event name to wait for.
options?
Section titled “options?”EventDispatcherWaitOptions<Events[K]>
Optional settings including predicate and abort signal.
Returns
Section titled “Returns”Promise<Events[K]>
A promise that resolves with the event arguments as an array.
Inherited from
Section titled “Inherited from”EventDispatcherMapBase.wait