fix issue with expire messages
bump version to 0.3.1
This commit is contained in:
parent
f9469a958a
commit
a956168f55
5
dist/src/services/messagesExpire/index.js
vendored
5
dist/src/services/messagesExpire/index.js
vendored
@ -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);
|
||||
|
@ -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": {
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user