Socket
Socket
Sign inDemoInstall

@push-rpc/core

Package Overview
Dependencies
Maintainers
1
Versions
62
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@push-rpc/core - npm Package Compare versions

Comparing version 1.1.4 to 1.1.5

24

dist/client.js

@@ -43,9 +43,13 @@ "use strict";

var client = {
disconnectedMark: false,
remote: session.remote,
disconnect: function () { return session.disconnect(); },
disconnect: function () {
client.disconnectedMark = true;
session.disconnect();
},
};
return (opts.reconnect ? startConnectionLoop : connect)(session, createSocket, opts.listeners).then(function () { return client; });
return (opts.reconnect ? startConnectionLoop : connect)(session, createSocket, opts.listeners, client).then(function () { return client; });
}
exports.createRpcClient = createRpcClient;
function startConnectionLoop(session, createSocket, listeners) {
function startConnectionLoop(session, createSocket, listeners, client) {
return new Promise(function (resolve) {

@@ -62,8 +66,8 @@ var onFirstConnection = resolve;

onFirstConnection = function () { };
}, errorDelay);
}, errorDelay, client);
});
}
function connectionLoop(session, createSocket, listeners, resolve, errorDelay) {
function connectionLoop(session, createSocket, listeners, resolve, errorDelay, client) {
function reconnect() {
var timer = setTimeout(function () { return connectionLoop(session, createSocket, listeners, resolve, errorDelay); }, errorDelay.value);
var timer = setTimeout(function () { return connectionLoop(session, createSocket, listeners, resolve, errorDelay, client); }, errorDelay.value);
// 2nd and further reconnects are with random delays

@@ -77,3 +81,5 @@ errorDelay.value = Math.round(Math.random() * 15 * 1000);

var code = _a.code, reason = _a.reason;
reconnect();
if (!client.disconnectedMark) {
reconnect();
}
listeners.disconnected({ code: code, reason: reason });

@@ -84,3 +90,5 @@ } });

.catch(function () {
reconnect();
if (!client.disconnectedMark) {
reconnect();
}
});

@@ -87,0 +95,0 @@ }

{
"name": "@push-rpc/core",
"version": "1.1.4",
"version": "1.1.5",
"main": "dist/index.js",

@@ -20,3 +20,3 @@ "types": "dist/index.d.ts",

},
"gitHead": "f963e89a0d037be1a76a07e73cbd1836dca21d53"
"gitHead": "f6d61eaba29157055081e1d323c3a5297092e74c"
}

@@ -80,4 +80,8 @@ import {RpcSession} from "./RpcSession"

const client = {
disconnectedMark: false,
remote: session.remote,
disconnect: () => session.disconnect(),
disconnect: () => {
client.disconnectedMark = true
session.disconnect()
},
}

@@ -88,3 +92,4 @@

createSocket,
opts.listeners
opts.listeners,
client
).then(() => client)

@@ -96,3 +101,4 @@ }

createSocket: () => Socket,
listeners: RpcClientListeners
listeners: RpcClientListeners,
client: {disconnectedMark: boolean}
): Promise<void> {

@@ -120,3 +126,4 @@ return new Promise(resolve => {

},
errorDelay
errorDelay,
client,
)

@@ -131,7 +138,8 @@ })

resolve,
errorDelay
errorDelay,
client: {disconnectedMark: boolean}
): void {
function reconnect() {
const timer = setTimeout(
() => connectionLoop(session, createSocket, listeners, resolve, errorDelay),
() => connectionLoop(session, createSocket, listeners, resolve, errorDelay, client),
errorDelay.value

@@ -151,3 +159,6 @@ )

disconnected: ({code, reason}) => {
reconnect()
if (!client.disconnectedMark) {
reconnect()
}
listeners.disconnected({code, reason})

@@ -160,3 +171,5 @@ },

.catch(() => {
reconnect()
if (!client.disconnectedMark) {
reconnect()
}
})

@@ -163,0 +176,0 @@ }

import {assert} from "chai"
import {createTestClient, startTestServer} from "./testUtils"
import {createNodeWebsocket} from "../../websocket/src"
import {createRpcClient} from "../src"
import {createTestClient, startTestServer, TEST_PORT} from "./testUtils"

@@ -30,2 +32,14 @@ describe("connection", () => {

}).timeout(5000)
})
it("disconnect will stop reconnection loop", async () => {
const rpcClient = await createRpcClient(
1,
() => createNodeWebsocket(`wss://echo.websocket.org`),
{
reconnect: true
}
)
rpcClient.disconnect()
})
})

@@ -34,2 +34,4 @@ import {createRpcClient, createRpcServer, RpcClientOptions, RpcServer} from "../src"

wss.close(resolve)
} else {
resolve()
}

@@ -36,0 +38,0 @@ })

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc