From 8d1c80fd2c1de6c5914066aea7b4c25648b9bff1 Mon Sep 17 00:00:00 2001 From: Matthew Cotton Date: Wed, 31 Jan 2024 12:09:13 +1100 Subject: [PATCH] Adding a broadcast message event for listening to all messages --- Common/package.json | 2 +- Common/src/WebSockets/SignallingProtocol.ts | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Common/package.json b/Common/package.json index c0754d4c..5fb7ed2c 100644 --- a/Common/package.json +++ b/Common/package.json @@ -1,6 +1,6 @@ { "name": "@epicgames-ps/lib-pixelstreamingcommon-ue5.5", - "version": "0.0.7", + "version": "0.0.8", "description": "Common utilities library for Unreal Engine 5.5 Pixel Streaming", "main": "build/commonjs/pixelstreamingcommon.js", "module": "build/es2015/pixelstreamingcommon.js", diff --git a/Common/src/WebSockets/SignallingProtocol.ts b/Common/src/WebSockets/SignallingProtocol.ts index f6dc7864..cade880e 100644 --- a/Common/src/WebSockets/SignallingProtocol.ts +++ b/Common/src/WebSockets/SignallingProtocol.ts @@ -28,8 +28,8 @@ export class SignallingProtocol { this.transportEvents = new EventEmitter(); this.messageHandlers = new EventEmitter(); - transport.events.addListener('open', () => this.transportEvents.emit('open')); - transport.events.addListener('error', () => this.transportEvents.emit('error')); + transport.events.addListener('open', (event: Event) => this.transportEvents.emit('open', event)); + transport.events.addListener('error', (event: Event) => this.transportEvents.emit('error', event)); transport.events.addListener('close', (event: CloseEvent) => this.transportEvents.emit('close', event)); transport.onMessage = (msg: BaseMessage) => { @@ -38,8 +38,10 @@ export class SignallingProtocol { const pongMessage = MessageHelpers.createMessage(Messages.pong, { time: new Date().getTime() }); transport.sendMessage(pongMessage); } + // call the handlers - this.messageHandlers.emit(msg.type, msg); + this.messageHandlers.emit(msg.type, msg); // emit this for listeners listening for specific messages + this.transportEvents.emit('message', msg); // emit this for listeners listening to any message }; }