fix(core): update
This commit is contained in:
parent
736240b978
commit
ffeed0565c
6
package-lock.json
generated
6
package-lock.json
generated
@ -538,9 +538,9 @@
|
|||||||
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
|
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "12.12.6",
|
"version": "12.12.7",
|
||||||
"resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.12.6.tgz",
|
"resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.12.7.tgz",
|
||||||
"integrity": "sha512-FjsYUPzEJdGXjwKqSpE0/9QEh6kzhTAeObA54rn6j3rR4C/mzpI9L0KNfoeASSPMMdxIsoJuCLDWcM/rVjIsSA=="
|
"integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w=="
|
||||||
},
|
},
|
||||||
"@types/range-parser": {
|
"@types/range-parser": {
|
||||||
"version": "1.2.3",
|
"version": "1.2.3",
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
"@gitzone/tsbuild": "^2.1.17",
|
"@gitzone/tsbuild": "^2.1.17",
|
||||||
"@gitzone/tstest": "^1.0.28",
|
"@gitzone/tstest": "^1.0.28",
|
||||||
"@pushrocks/tapbundle": "^3.0.13",
|
"@pushrocks/tapbundle": "^3.0.13",
|
||||||
"@types/node": "^12.12.6",
|
"@types/node": "^12.12.7",
|
||||||
"tslint": "^5.20.1",
|
"tslint": "^5.20.1",
|
||||||
"tslint-config-prettier": "^1.18.0"
|
"tslint-config-prettier": "^1.18.0"
|
||||||
},
|
},
|
||||||
|
@ -31,7 +31,8 @@ tap.test('add a message to the SmartUniverse', async () => {
|
|||||||
// testing message handling
|
// testing message handling
|
||||||
tap.test('create smartuniverse client', async () => {
|
tap.test('create smartuniverse client', async () => {
|
||||||
testClientUniverse = new smartuniverse.ClientUniverse({
|
testClientUniverse = new smartuniverse.ClientUniverse({
|
||||||
serverAddress: testServerData.serverAddress
|
serverAddress: testServerData.serverAddress,
|
||||||
|
autoReconnect: true
|
||||||
});
|
});
|
||||||
expect(testClientUniverse).to.be.instanceof(smartuniverse.ClientUniverse);
|
expect(testClientUniverse).to.be.instanceof(smartuniverse.ClientUniverse);
|
||||||
});
|
});
|
||||||
@ -65,7 +66,8 @@ tap.test('universe should contain the sent message', async () => {
|
|||||||
|
|
||||||
tap.test('a second client should be able to subscibe', async () => {
|
tap.test('a second client should be able to subscibe', async () => {
|
||||||
testClientUniverse2 = new smartuniverse.ClientUniverse({
|
testClientUniverse2 = new smartuniverse.ClientUniverse({
|
||||||
serverAddress: testServerData.serverAddress
|
serverAddress: testServerData.serverAddress,
|
||||||
|
autoReconnect: true
|
||||||
});
|
});
|
||||||
|
|
||||||
testClientUniverse2.addChannel(testChannelData.channelName, testChannelData.channelPass);
|
testClientUniverse2.addChannel(testChannelData.channelName, testChannelData.channelPass);
|
||||||
|
@ -12,6 +12,7 @@ import { ClientUniverseCache } from './smartuniverse.classes.clientuniversecache
|
|||||||
|
|
||||||
export interface IClientOptions {
|
export interface IClientOptions {
|
||||||
serverAddress: string;
|
serverAddress: string;
|
||||||
|
autoReconnect: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -165,12 +166,14 @@ export class ClientUniverse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async disconnect(reason: 'upstreamEvent' | 'triggered' = 'triggered', tryReconnect = false) {
|
public async disconnect(reason: 'upstreamEvent' | 'triggered' = 'triggered', tryReconnect = false) {
|
||||||
if ('triggered') {
|
if (reason === 'triggered') {
|
||||||
this.smartsocketClient.disconnect();
|
const smartsocketToDisconnect = this.smartsocketClient;
|
||||||
|
this.smartsocketClient = null; // making sure the upstreamEvent does not interfere
|
||||||
|
await smartsocketToDisconnect.disconnect();
|
||||||
}
|
}
|
||||||
this.smartsocketClient = null;
|
if (this.options.autoReconnect && reason === 'upstreamEvent' && this.smartsocketClient) {
|
||||||
if (tryReconnect) {
|
|
||||||
await plugins.smartdelay.delayForRandom(5000, 20000);
|
await plugins.smartdelay.delayForRandom(5000, 20000);
|
||||||
|
this.smartsocketClient = null;
|
||||||
this.checkConnection();
|
this.checkConnection();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -121,6 +121,7 @@ export class UniverseConnection {
|
|||||||
socketConnection: plugins.smartsocket.SocketConnection;
|
socketConnection: plugins.smartsocket.SocketConnection;
|
||||||
authenticationRequests: Array<interfaces.ISocketRequest_SubscribeChannel['request']>;
|
authenticationRequests: Array<interfaces.ISocketRequest_SubscribeChannel['request']>;
|
||||||
}) {
|
}) {
|
||||||
|
this.universeRef = optionsArg.universe;
|
||||||
this.authenticationRequests = optionsArg.authenticationRequests;
|
this.authenticationRequests = optionsArg.authenticationRequests;
|
||||||
this.socketConnection = optionsArg.socketConnection;
|
this.socketConnection = optionsArg.socketConnection;
|
||||||
this.socketConnection.eventSubject.subscribe(async eventArg => {
|
this.socketConnection.eventSubject.subscribe(async eventArg => {
|
||||||
|
Loading…
Reference in New Issue
Block a user