fix issue with expire messages

bump version to 0.3.1
This commit is contained in:
afrokick 2020-03-11 11:02:18 +03:00
parent f9469a958a
commit a956168f55
4 changed files with 16 additions and 12 deletions

View File

@ -37,13 +37,14 @@ class MessagesExpire {
continue;
const messages = messageQueue.getMessages();
for (const message of messages) {
if (!seen[message.src]) {
const seenKey = `${message.src}_${message.dst}`;
if (!seen[seenKey]) {
this.messageHandler.handle(undefined, {
type: enums_1.MessageType.EXPIRE,
src: message.dst,
dst: message.src
});
seen[message.src] = true;
seen[seenKey] = true;
}
}
this.realm.clearMessageQueue(destinationClientId);

View File

@ -1,6 +1,6 @@
{
"name": "peer",
"version": "0.3.0",
"version": "0.3.1",
"description": "PeerJS server component",
"main": "dist/peerjs.server.min.js",
"bin": {

View File

@ -66,14 +66,16 @@ export class MessagesExpire implements IMessagesExpire {
const messages = messageQueue.getMessages();
for (const message of messages) {
if (!seen[message.src]) {
const seenKey = `${message.src}_${message.dst}`;
if (!seen[seenKey]) {
this.messageHandler.handle(undefined, {
type: MessageType.EXPIRE,
src: message.dst,
dst: message.src
});
seen[message.src] = true;
seen[seenKey] = true;
}
}

View File

@ -8,11 +8,11 @@ import { MessageType } from '../../../src/enums';
import { wait } from '../../utils';
describe('MessagesExpire', () => {
const createTestMessage = (): IMessage => {
const createTestMessage = (dst: string): IMessage => {
return {
type: MessageType.OPEN,
src: 'src',
dst: 'dst'
dst,
};
};
@ -27,7 +27,7 @@ describe('MessagesExpire', () => {
const client = new Client({ id: 'id', token: '' });
realm.setClient(client, 'id');
realm.addMessageToQueue(client.getId(), createTestMessage());
realm.addMessageToQueue(client.getId(), createTestMessage('dst'));
messagesExpire.startMessagesExpiration();
@ -53,15 +53,16 @@ describe('MessagesExpire', () => {
const client = new Client({ id: 'id', token: '' });
realm.setClient(client, 'id');
realm.addMessageToQueue(client.getId(), createTestMessage());
realm.addMessageToQueue(client.getId(), createTestMessage('dst1'));
realm.addMessageToQueue(client.getId(), createTestMessage('dst2'));
let handled = false;
let handledCount = 0;
messageHandler.handle = (client, message): boolean => {
expect(client).to.be.undefined;
expect(message.type).to.be.eq(MessageType.EXPIRE);
handled = true;
handledCount++;
return true;
};
@ -71,7 +72,7 @@ describe('MessagesExpire', () => {
await wait(checkInterval * 2);
await wait(expireTimeout);
expect(handled).to.be.true;
expect(handledCount).to.be.eq(2);
messagesExpire.stopMessagesExpiration();
});