+ public addToMessageQueue(message: string): void {
+ let dups = false;
+ // Handle dups in buffer
+ for (const bufferedMessage of this.messageQueue) {
+ // Same message
+ if (message === bufferedMessage) {
+ dups = true;
+ break;
+ }
+ }
+ if (!dups) {
+ // Buffer message
+ this.messageQueue.push(message);
+ }
+ }
+
+ private flushMessageQueue() {
+ if (!Utils.isEmptyArray(this.messageQueue)) {
+ this.messageQueue.forEach((message, index) => {
+ this.messageQueue.splice(index, 1);
+ this.wsConnection.send(message);
+ });
+ }
+ }
+