From d19da30f6dbf316bf89355b9b840a6d77e5435ec Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Tue, 5 Sep 2023 21:44:37 -0600 Subject: decrease CSP threshold, move client networking to its own folder --- client/src/network/MessagePublisher.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 client/src/network/MessagePublisher.ts (limited to 'client/src/network/MessagePublisher.ts') diff --git a/client/src/network/MessagePublisher.ts b/client/src/network/MessagePublisher.ts new file mode 100644 index 0000000..de105c5 --- /dev/null +++ b/client/src/network/MessagePublisher.ts @@ -0,0 +1,25 @@ +import type { Message, MessagePublisher } from '@engine/network'; +import { stringify } from '@engine/utils'; + +export class ClientSocketMessagePublisher implements MessagePublisher { + private socket: WebSocket; + private messages: Message[]; + + constructor(socket: WebSocket) { + this.socket = socket; + this.messages = []; + } + + public addMessage(message: Message) { + this.messages.push(message); + } + + public publish() { + if (this.socket.readyState == WebSocket.OPEN) { + this.messages.forEach((message: Message) => + this.socket.send(stringify(message)) + ); + this.messages = []; + } + } +} -- cgit v1.2.3-70-g09d2