src/sse-registry.js
Rama master · réplica de lectura del repositorio original.
const activeControllers = new Set();
export function registerSseController(controller) {
if (!controller) return () => {};
activeControllers.add(controller);
return () => activeControllers.delete(controller);
}
export function activeSseCount() {
return activeControllers.size;
}
export function abortActiveSse(message = 'server shutting down') {
let count = 0;
for (const controller of [...activeControllers]) {
count++;
try { controller.abort(message); } catch { try { controller.abort(); } catch {} }
}
return count;
}