summaryrefslogtreecommitdiff
path: root/client/src/network/MessageQueueReceiver.ts
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2023-09-05 21:44:37 -0600
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2023-09-05 21:44:37 -0600
commitd19da30f6dbf316bf89355b9b840a6d77e5435ec (patch)
tree1c4e406683f197c019edbfa249741798aac1b5b4 /client/src/network/MessageQueueReceiver.ts
parentba989bd7f86f823e062cfce7437d89495ef527c6 (diff)
downloadjumpstorm-d19da30f6dbf316bf89355b9b840a6d77e5435ec.tar.gz
jumpstorm-d19da30f6dbf316bf89355b9b840a6d77e5435ec.zip
decrease CSP threshold, move client networking to its own folder
Diffstat (limited to 'client/src/network/MessageQueueReceiver.ts')
-rw-r--r--client/src/network/MessageQueueReceiver.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/client/src/network/MessageQueueReceiver.ts b/client/src/network/MessageQueueReceiver.ts
new file mode 100644
index 0000000..46ca5cc
--- /dev/null
+++ b/client/src/network/MessageQueueReceiver.ts
@@ -0,0 +1,25 @@
+import type { Message, MessageQueueProvider } from '@engine/network';
+import { parse } from '@engine/utils';
+
+export class ClientSocketMessageQueueProvider implements MessageQueueProvider {
+ private socket: WebSocket;
+ private messages: Message[];
+
+ constructor(socket: WebSocket) {
+ this.socket = socket;
+ this.messages = [];
+
+ this.socket.addEventListener('message', (e) => {
+ const messages = parse<Message[]>(e.data);
+ this.messages = this.messages.concat(messages);
+ });
+ }
+
+ public getNewMessages() {
+ return this.messages;
+ }
+
+ public clearMessages() {
+ this.messages = [];
+ }
+}