Class: HostEndpoint
Defined in: src/batteries/isolation/protocol.ts:111
Host-side correlation engine over a PortLike. Queues calls/stream-starts made before ready and flushes them in order once it arrives; tracks in-flight calls (one-shot, resolved/rejected by a result envelope) and open streams (persistent, fed by stream:delta/stream:end/stream:error until closed). terminate() rejects every in-flight call and errors every open stream with a caller-supplied reason (the message text host.ts uses is E_ISOLATED_TERMINATED's message).
Constructors
Constructor
new HostEndpoint(port: PortLike, hooks?: HostEndpointHooks): HostEndpoint;Defined in: src/batteries/isolation/protocol.ts:121
Parameters
| Parameter | Type |
|---|---|
port | PortLike |
hooks | HostEndpointHooks |
Returns
HostEndpoint
Accessors
isReady
Get Signature
get isReady(): boolean;Defined in: src/batteries/isolation/protocol.ts:128
Whether the guest has signaled ready yet.
Returns
boolean
openStreamCount
Get Signature
get openStreamCount(): number;Defined in: src/batteries/isolation/protocol.ts:140
Number of streams currently open (started, not yet ended/errored). Used by host.ts alongside pendingCallCount to report an accurate inFlight count on a crash.
Returns
number
pendingCallCount
Get Signature
get pendingCallCount(): number;Defined in: src/batteries/isolation/protocol.ts:134
Number of calls currently awaiting a result envelope. Used by host.ts to report an accurate inFlight count on a crash before terminate() clears the pending map.
Returns
number
Methods
abort()
abort(id: string): void;Defined in: src/batteries/isolation/protocol.ts:223
Send an abort envelope for an in-flight call's id. Does not itself reject the call — the guest is expected to respond with a result (ok:false) once it observes the abort.
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
void
call()
call(method: string, args: WireValue[]): {
id: string;
promise: Promise<WireValue>;
};Defined in: src/batteries/isolation/protocol.ts:208
Issue a request/response call. Resolves with the guest's returned WireValue, rejects with a reconstructed Error (see wireErrorToError) on failure or on terminate().
Parameters
| Parameter | Type |
|---|---|
method | string |
args | WireValue[] |
Returns
{
id: string;
promise: Promise<WireValue>;
}| Name | Type | Defined in |
|---|---|---|
id | string | src/batteries/isolation/protocol.ts:208 |
promise | Promise<WireValue> | src/batteries/isolation/protocol.ts:208 |
cancelStream()
cancelStream(id: string, reason?: WireValue): void;Defined in: src/batteries/isolation/protocol.ts:240
Send a stream:cancel envelope and stop tracking the stream locally.
Parameters
| Parameter | Type |
|---|---|
id | string |
reason? | WireValue |
Returns
void
shutdown()
shutdown(): void;Defined in: src/batteries/isolation/protocol.ts:246
Send a shutdown envelope (graceful-exit request; does not itself tear down the port).
Returns
void
startStream()
startStream(
stream: string,
args: WireValue[],
sink: StreamSink): string;Defined in: src/batteries/isolation/protocol.ts:232
Start a fire-and-forward stream. Returns the correlation id immediately (before the guest necessarily even exists, if not yet ready) and a sink the caller wires to a ReadableStream controller.
Parameters
| Parameter | Type |
|---|---|
stream | string |
args | WireValue[] |
sink | StreamSink |
Returns
string
terminate()
terminate(reason: string): void;Defined in: src/batteries/isolation/protocol.ts:254
Reject every in-flight call and error every open stream with reason, clear all queued-but-unsent envelopes, and unsubscribe from the port. Idempotent.
Parameters
| Parameter | Type |
|---|---|
reason | string |
Returns
void