Skip to content

RepackedDoorbell

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:479

The shared word one blocking server loop waits on. Both sides hold the same buffer; a client only ever rings it, and only the host that created it may ask the loop to stop.

readonly buffer: SharedArrayBuffer

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:480

requestStop(): void

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:521

Ask a blocking serveForever() to return. This is the only way to stop it from another thread: once inside the loop the server never reaches its own event loop, so postMessage cannot reach it.

void


resume(): void

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:527

Undo a requestStop() so the same doorbell can drive another loop.

void


ring(): void

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:508

Announce that some channel now holds a request.

void


running(): boolean

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:513

boolean


ticket(): number

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:503

The value a server must observe BEFORE it scans, so a concurrent request cannot be missed.

number


wait(observed, timeoutMs): "ok" | "not-equal" | "timed-out"

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:532

Block until the ticket leaves observed, or the timeout elapses.

number

number

"ok" | "not-equal" | "timed-out"


waitAsync(observed, timeoutMs): Promise<"ok" | "not-equal" | "timed-out">

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:537

The non-blocking form, for a host that must not park its thread.

number

number

Promise<"ok" | "not-equal" | "timed-out">


static attach(buffer): RepackedDoorbell

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:498

Rebuild the doorbell around a buffer that arrived over postMessage.

SharedArrayBuffer

RepackedDoorbell


static create(): RepackedDoorbell

Defined in: packages/pgwasm/src/opfs/broker/protocol.ts:491

RepackedDoorbell