Adding heartbeat to ECL WS server

pull/1157/head
ShahanaFarooqui 1 year ago
parent aad8547a8a
commit 79f3344f7e

@ -54,6 +54,7 @@ export class ECLWebSocketClient {
eclWsClt.webSocketClient.onopen = () => {
this.logger.log({ selectedNode: eclWsClt.selectedNode, level: 'INFO', fileName: 'ECLWebSocket', msg: 'Connected to the Eclair\'s Websocket Server..' });
this.waitTime = 0.5;
this.heartbeat(eclWsClt);
};
eclWsClt.webSocketClient.onclose = (e) => {
if (eclWsClt && eclWsClt.selectedNode && eclWsClt.selectedNode.ln_implementation === 'ECL') {
@ -107,6 +108,17 @@ export class ECLWebSocketClient {
newClient.selectedNode = JSON.parse(JSON.stringify(newSelectedNode));
this.webSocketClients[clientIdx] = newClient;
};
this.heartbeat = (eclWsClt) => {
this.logger.log({ selectedNode: eclWsClt.selectedNode, level: 'INFO', fileName: 'ECLWebSocket', msg: 'Websocket Server Heartbeat..' });
if (!eclWsClt.webSocketClient)
return;
if (eclWsClt.webSocketClient.readyState !== 1)
return;
eclWsClt.webSocketClient.send('Pinging Server');
setTimeout(() => {
this.heartbeat(eclWsClt);
}, 59 * 1000);
};
this.wsServer.eventEmitterECL.on('CONNECT', (nodeIndex) => {
this.connect(this.common.findNode(+nodeIndex));
});

@ -65,6 +65,7 @@ export class ECLWebSocketClient {
eclWsClt.webSocketClient.onopen = () => {
this.logger.log({ selectedNode: eclWsClt.selectedNode, level: 'INFO', fileName: 'ECLWebSocket', msg: 'Connected to the Eclair\'s Websocket Server..' });
this.waitTime = 0.5;
this.heartbeat(eclWsClt);
};
eclWsClt.webSocketClient.onclose = (e) => {
@ -96,6 +97,7 @@ export class ECLWebSocketClient {
eclWsClt.reConnect = false;
}
};
};
public disconnect = (selectedNode: CommonSelectedNode) => {
@ -117,6 +119,15 @@ export class ECLWebSocketClient {
this.webSocketClients[clientIdx] = newClient;
};
public heartbeat = (eclWsClt) => {
this.logger.log({ selectedNode: eclWsClt.selectedNode, level: 'INFO', fileName: 'ECLWebSocket', msg: 'Websocket Server Heartbeat..' });
if (!eclWsClt.webSocketClient) return;
if (eclWsClt.webSocketClient.readyState !== 1) return;
eclWsClt.webSocketClient.send('Pinging Server');
setTimeout(() => {
this.heartbeat(eclWsClt);
}, 59 * 1000);
}
}
export const ECLWSClient = new ECLWebSocketClient();

Loading…
Cancel
Save