diff options
author | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-09-05 21:44:37 -0600 |
---|---|---|
committer | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2023-09-05 21:44:37 -0600 |
commit | d19da30f6dbf316bf89355b9b840a6d77e5435ec (patch) | |
tree | 1c4e406683f197c019edbfa249741798aac1b5b4 /client/src/network/MessageQueueReceiver.ts | |
parent | ba989bd7f86f823e062cfce7437d89495ef527c6 (diff) | |
download | jumpstorm-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.ts | 25 |
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 = []; + } +} |