Class: HostEndpoint
Defined in: src/batteries/isolation/protocol.ts:143
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,
hostcalls?: {
handlers?: ReadonlyMap<string, HostcallHandler>;
maxHostcallBytes?: number;
quotas?: HostcallQuotas;
}): HostEndpoint;Defined in: src/batteries/isolation/protocol.ts:158
Parameters
| Parameter | Type |
|---|---|
port | PortLike |
hooks | HostEndpointHooks |
hostcalls | { handlers?: ReadonlyMap<string, HostcallHandler>; maxHostcallBytes?: number; quotas?: HostcallQuotas; } |
hostcalls.handlers? | ReadonlyMap<string, HostcallHandler> |
hostcalls.maxHostcallBytes? | number |
hostcalls.quotas? | HostcallQuotas |
Returns
HostEndpoint
Accessors
isReady
Get Signature
get isReady(): boolean;Defined in: src/batteries/isolation/protocol.ts:176
Whether the guest has signaled ready yet.
Returns
boolean
openStreamCount
Get Signature
get openStreamCount(): number;Defined in: src/batteries/isolation/protocol.ts:188
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:182
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:351
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:261
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:261 |
promise | Promise<WireValue> | src/batteries/isolation/protocol.ts:261 |
cancelStream()
cancelStream(id: string, reason?: WireValue): void;Defined in: src/batteries/isolation/protocol.ts:368
Send a stream:cancel envelope and stop tracking the stream locally.
Parameters
| Parameter | Type |
|---|---|
id | string |
reason? | WireValue |
Returns
void
hostresult()
hostresult(id: string, result:
| {
ok: true;
value: string | WireValue;
}
| {
error?: WireError;
ok: false;
value?: string;
}): void;Defined in: src/batteries/isolation/protocol.ts:339
Post a guest capability result. Unknown/late ids are harmlessly ignored by the guest.
Parameters
| Parameter | Type |
|---|---|
id | string |
result | | { ok: true; value: string | WireValue; } | { error?: WireError; ok: false; value?: string; } |
Returns
void
shutdown()
shutdown(): void;Defined in: src/batteries/isolation/protocol.ts:374
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:360
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:382
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