Compare commits

...

4 Commits

Author SHA1 Message Date
20e7584eb9 1.1.53 2019-11-03 20:23:15 +01:00
59cbc343cc fix(core): update 2019-11-03 20:23:15 +01:00
75aa1f6f0d 1.1.52 2019-11-03 19:17:26 +01:00
3f073ab9b3 fix(core): update 2019-11-03 19:17:26 +01:00
5 changed files with 53 additions and 21 deletions

47
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartsocket",
"version": "1.1.51",
"version": "1.1.53",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -495,20 +495,23 @@
}
},
"@pushrocks/smartrx": {
"version": "2.0.3",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.3.tgz",
"integrity": "sha512-OWxagu+CBdPaq76AIg91hJyrNhDTlEpesj01ooWCeVIaLY3G7yvFkqHsEKNOwPUG1LzCWmjq1l1dHQx9p2vJ9A==",
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.5.tgz",
"integrity": "sha512-BOlIJmnCO8pxqu9f18D9UV5rIsyrmKeK/mWNMiAe/NH2OTeRPNLpgmhZBkXSKNVD8tSsD8aazs4BcACgYOg1FQ==",
"requires": {
"@pushrocks/lik": "^3.0.2",
"@pushrocks/lik": "^3.0.11",
"@pushrocks/smartevent": "^2.0.3",
"@pushrocks/smartpromise": "^2.0.5",
"rxjs": "^6.3.3"
"@pushrocks/smartpromise": "^3.0.2",
"rxjs": "^6.5.3"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g=="
"rxjs": {
"version": "6.5.3",
"resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.5.3.tgz",
"integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
"requires": {
"tslib": "^1.9.0"
}
}
}
},
@ -537,6 +540,17 @@
"luxon": "^1.16.0"
}
},
"@pushrocks/smartunique": {
"version": "3.0.1",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartunique/-/smartunique-3.0.1.tgz",
"integrity": "sha512-xBu9ZB4C0BA0S/pbFFZn2ItPfnodPKpzrYIq1yN5XDs6OaookwcDF/iBwfS9+EYMSPENC9wAsOxg2RGMm4Qicw==",
"requires": {
"@types/shortid": "^0.0.29",
"@types/uuid": "^3.0.0",
"shortid": "^2.2.8",
"uuid": "^3.1.0"
}
},
"@pushrocks/tapbundle": {
"version": "3.0.13",
"resolved": "https://registry.npmjs.org/@pushrocks/tapbundle/-/tapbundle-3.0.13.tgz",
@ -734,6 +748,14 @@
"@types/node": "*"
}
},
"@types/uuid": {
"version": "3.4.6",
"resolved": "https://verdaccio.lossless.one/@types%2fuuid/-/uuid-3.4.6.tgz",
"integrity": "sha512-cCdlC/1kGEZdEglzOieLDYBxHsvEOIg7kp/2FYyVR9Pxakq+Qf/inL3RKQ+PA8gOlI/NnL+fXmQH12nwcGzsHw==",
"requires": {
"@types/node": "*"
}
},
"@types/vinyl": {
"version": "2.0.2",
"resolved": "https://verdaccio.lossless.one/@types%2fvinyl/-/vinyl-2.0.2.tgz",
@ -2212,7 +2234,7 @@
},
"minimist": {
"version": "0.0.8",
"resolved": "https://verdaccio.lossless.one/minimist/-/minimist-0.0.8.tgz",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
@ -2638,6 +2660,7 @@
"version": "6.3.3",
"resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.3.3.tgz",
"integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartsocket",
"version": "1.1.51",
"version": "1.1.53",
"description": "easy and secure websocket communication",
"main": "dist/index.js",
"typings": "dist/index.d.ts",
@ -26,10 +26,10 @@
"@pushrocks/smarthash": "^2.0.6",
"@pushrocks/smartlog": "^2.0.21",
"@pushrocks/smartpromise": "^3.0.6",
"@types/shortid": "0.0.29",
"@pushrocks/smartrx": "^2.0.5",
"@pushrocks/smartunique": "^3.0.1",
"@types/socket.io": "^2.1.4",
"@types/socket.io-client": "^1.4.32",
"shortid": "^2.2.15",
"socket.io": "^2.3.0",
"socket.io-client": "^2.3.0"
},

View File

@ -16,6 +16,10 @@ export interface ISmartsocketConstructorOptions {
}
export class Smartsocket {
/**
* a unique id to detect server restarts
*/
public id = plugins.smartunique.shortId();
public options: ISmartsocketConstructorOptions;
public io: SocketIO.Server;
public socketConnections = new Objectmap<SocketConnection>();
@ -80,7 +84,7 @@ export class Smartsocket {
funcName: functionNameArg
},
originSocketConnection: targetSocketConnectionArg,
shortId: plugins.shortid.generate(),
shortId: plugins.smartunique.shortId(),
side: 'requesting'
});
const response: ISocketFunctionCallDataResponse<T> = await socketRequest.dispatch();

View File

@ -23,6 +23,8 @@ export class SmartsocketClient {
public serverUrl: string;
public serverPort: number;
// public eventSubject = new plugins.smart
public socketFunctions = new plugins.lik.Objectmap<SocketFunction<any>>();
public socketRequests = new plugins.lik.Objectmap<SocketRequest<any>>();
public socketRoles = new plugins.lik.Objectmap<SocketRole>();
@ -55,7 +57,10 @@ export class SmartsocketClient {
role: this.socketRole,
side: 'client',
smartsocketHost: this,
socket: plugins.socketIoClient(socketUrl, { multiplex: false })
socket: plugins.socketIoClient(socketUrl, {
multiplex: false,
reconnectionAttempts: 5,
})
});
this.socketConnection.socket.on('requestAuth', () => {
plugins.smartlog.defaultLogger.log('info', 'server requested authentication');
@ -111,7 +116,7 @@ export class SmartsocketClient {
const socketRequest = new SocketRequest<T>(this, {
side: 'requesting',
originSocketConnection: this.socketConnection,
shortId: plugins.shortid.generate(),
shortId: plugins.smartunique.shortId(),
funcCallData: {
funcName: functionNameArg,
funcDataArg: dataArg

View File

@ -10,6 +10,7 @@ import * as smarthash from '@pushrocks/smarthash';
import * as smartdelay from '@pushrocks/smartdelay';
import * as smartexpress from '@pushrocks/smartexpress';
import * as smartpromise from '@pushrocks/smartpromise';
import * as smartunique from '@pushrocks/smartunique';
export {
@ -18,16 +19,15 @@ export {
smarthash,
smartdelay,
smartexpress,
smartpromise
smartpromise,
smartunique,
};
// third party scope
import * as shortid from 'shortid';
import socketIo from 'socket.io';
import socketIoClient from 'socket.io-client';
export {
shortid,
socketIo,
socketIoClient
};