Skip to content
2 min read · 460 words

Class: GuestEndpoint

Defined in: src/batteries/isolation/protocol.ts:432

Guest-side correlation engine over a PortLike. Owns per-call AbortControllers (aborted on an inbound abort/stream:cancel envelope) and exposes settleCall/pushDelta/endStream/ errorStream for serve.ts to report outcomes back across the wire.

Constructors

Constructor

ts
new GuestEndpoint(port: PortLike, hooks?: GuestEndpointHooks): GuestEndpoint;

Defined in: src/batteries/isolation/protocol.ts:442

Parameters

ParameterType
portPortLike
hooksGuestEndpointHooks

Returns

GuestEndpoint

Methods

emit()

ts
emit(channel: string, payload: WireValue): void;

Defined in: src/batteries/isolation/protocol.ts:554

Emit an unsolicited event on channel.

Parameters

ParameterType
channelstring
payloadWireValue

Returns

void


endStream()

ts
endStream(id: string): void;

Defined in: src/batteries/isolation/protocol.ts:536

Signal a stream's clean end and release its abort controller.

Parameters

ParameterType
idstring

Returns

void


errorStream()

ts
errorStream(id: string, error: WireError): void;

Defined in: src/batteries/isolation/protocol.ts:542

Signal a stream's terminal error and release its abort controller.

Parameters

ParameterType
idstring
errorWireError

Returns

void


hostcall()

ts
hostcall(
   method: string,
   args: WireValue[],
   maxBytes?: number): {
  id: string;
  promise: Promise<string | WireValue>;
};

Defined in: src/batteries/isolation/protocol.ts:497

Issue a guest-to-host capability request using the separate hostcall id space.

Parameters

ParameterType
methodstring
argsWireValue[]
maxBytes?number

Returns

ts
{
  id: string;
  promise: Promise<string | WireValue>;
}
NameTypeDefined in
idstringsrc/batteries/isolation/protocol.ts:501
promisePromise<string | WireValue>src/batteries/isolation/protocol.ts:501

pushDelta()

ts
pushDelta(id: string, delta: WireValue): void;

Defined in: src/batteries/isolation/protocol.ts:531

Push a stream delta.

Parameters

ParameterType
idstring
deltaWireValue

Returns

void


ready()

ts
ready(encoderAvailable: boolean): void;

Defined in: src/batteries/isolation/protocol.ts:514

Announce readiness. Must be sent exactly once, before any result/stream:*/event envelope.

Parameters

ParameterType
encoderAvailableboolean

Returns

void


settleError()

ts
settleError(id: string, error: WireError): void;

Defined in: src/batteries/isolation/protocol.ts:525

Report a failed call outcome and release the call's abort controller.

Parameters

ParameterType
idstring
errorWireError

Returns

void


settleOk()

ts
settleOk(id: string, value: WireValue): void;

Defined in: src/batteries/isolation/protocol.ts:519

Report a successful call outcome and release the call's abort controller.

Parameters

ParameterType
idstring
valueWireValue

Returns

void


terminate()

ts
terminate(reason?: string): void;

Defined in: src/batteries/isolation/protocol.ts:548

Reject all guest capability requests when this endpoint is stopped.

Parameters

ParameterTypeDefault value
reasonstring'GuestEndpoint has been terminated'

Returns

void