import type { RoomControl } from "~/lib/editor-protocol"; export function sendControl(socket: WebSocket, message: RoomControl): void { try { socket.send(JSON.stringify(message)); } catch { socket.close(); } } export function broadcastControl(sockets: WebSocket[], message: RoomControl): void { const payload = JSON.stringify(message); for (const socket of sockets) { try { socket.send(payload); } catch { continue; } } } export function broadcastFrame(sockets: WebSocket[], frame: Uint8Array, except: WebSocket | null): void { for (const socket of sockets) { if (socket === except || socket.readyState !== WebSocket.OPEN) continue; try { socket.send(frame); } catch { continue; } } }