RepackedSyncBroker
Defined in: packages/pgwasm/src/opfs/broker/server.ts:131
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new RepackedSyncBroker(
options):RepackedSyncBroker
Defined in: packages/pgwasm/src/opfs/broker/server.ts:140
Parameters
Section titled “Parameters”options
Section titled “options”Returns
Section titled “Returns”RepackedSyncBroker
Properties
Section titled “Properties”doorbell
Section titled “doorbell”
readonlydoorbell:RepackedDoorbell
Defined in: packages/pgwasm/src/opfs/broker/server.ts:132
Methods
Section titled “Methods”attach()
Section titled “attach()”attach(
channel):void
Defined in: packages/pgwasm/src/opfs/broker/server.ts:163
Parameters
Section titled “Parameters”channel
Section titled “channel”Returns
Section titled “Returns”void
attachedIds()
Section titled “attachedIds()”attachedIds():
number[]
Defined in: packages/pgwasm/src/opfs/broker/server.ts:149
Channel ids the broker currently serves.
Returns
Section titled “Returns”number[]
detach()
Section titled “detach()”detach(
channel,reason?):void
Defined in: packages/pgwasm/src/opfs/broker/server.ts:176
Drop a client and close every descriptor it still holds. A backend that dies mid-query never leaks a descriptor into the store, and the store’s exclusive handles are released the moment the LAST owner goes away rather than whenever a stale fd happens to be noticed.
Parameters
Section titled “Parameters”channel
Section titled “channel”number | RepackedChannel
reason?
Section titled “reason?”string = "detached by the host"
Returns
Section titled “Returns”void
detachAll()
Section titled “detachAll()”detachAll(
reason?):void
Defined in: packages/pgwasm/src/opfs/broker/server.ts:195
Detach every client, closing all descriptors. The store itself is NOT closed.
Parameters
Section titled “Parameters”reason?
Section titled “reason?”string = "broker shutting down"
Returns
Section titled “Returns”void
openFdCount()
Section titled “openFdCount()”openFdCount(
channelId?):number
Defined in: packages/pgwasm/src/opfs/broker/server.ts:154
Descriptors the broker currently holds for one client — the leak check after a detach.
Parameters
Section titled “Parameters”channelId?
Section titled “channelId?”number
Returns
Section titled “Returns”number
serve()
Section titled “serve()”serve():
Promise<void>
Defined in: packages/pgwasm/src/opfs/broker/server.ts:236
The same loop on Atomics.waitAsync, for a host that must not park its thread — the tab’s main
thread, or a worker that also has to receive postMessage. Channels may be attached and detached
while it runs. Resolves when doorbell.requestStop() is called.
Returns
Section titled “Returns”Promise<void>
serveForever()
Section titled “serveForever()”serveForever():
void
Defined in: packages/pgwasm/src/opfs/broker/server.ts:218
The blocking coordinator loop. Parks the thread in Atomics.wait on the doorbell between
requests, so this thread’s event loop never runs: attach every channel before calling it, and stop
it with doorbell.requestStop() from another thread.
Returns
Section titled “Returns”void
serveOnce()
Section titled “serveOnce()”serveOnce():
number
Defined in: packages/pgwasm/src/opfs/broker/server.ts:203
Scan every attached channel once and answer whatever is pending. Never blocks, never throws for a file or store error. Returns how many requests were answered.
Returns
Section titled “Returns”number