aboutsummaryrefslogtreecommitdiff
path: root/static/src/network.ts
diff options
context:
space:
mode:
Diffstat (limited to 'static/src/network.ts')
-rw-r--r--static/src/network.ts17
1 files changed, 17 insertions, 0 deletions
diff --git a/static/src/network.ts b/static/src/network.ts
index 0d4e216..f707148 100644
--- a/static/src/network.ts
+++ b/static/src/network.ts
@@ -71,3 +71,20 @@ export class WebSocketEventQueue implements EventQueue {
};
}
}
+
+export class WebsocketEventPublisher implements EventPublisher {
+ private queue: Event[];
+
+ constructor(private readonly websocket: WebSocket) {
+ this.queue = [];
+ }
+
+ public add(event: Event) {
+ this.queue.push(event);
+ }
+
+ public publish() {
+ this.websocket.send(JSON.stringify(this.queue));
+ this.queue = [];
+ }
+}