Skip to content

DrainWaiter

Defined in: packages/protocol/src/drain-waiter.ts:30

Singleton drain waiter for a socket.

Allows multiple concurrent requests to wait for drain with only a single event listener on the socket.

new DrainWaiter(_socket): DrainWaiter

Defined in: packages/protocol/src/drain-waiter.ts:56

Socket

DrainWaiter

clear(): void

Defined in: packages/protocol/src/drain-waiter.ts:96

Clear all pending waiters and listener state. Call this on socket close/disconnect.

void


waitForDrain(): Promise<void>

Defined in: packages/protocol/src/drain-waiter.ts:69

Wait for socket drain if needed.

If socket doesn’t need drain, returns immediately. Otherwise, registers a waiter and returns when drain fires.

Promise<void>

If socket is destroyed or closes while waiting