mirror of
https://github.com/Ride-The-Lightning/RTL.git
synced 2025-02-22 22:25:43 +01:00
Adding heartbeat to ECL WS server
This commit is contained in:
parent
aad8547a8a
commit
79f3344f7e
2 changed files with 23 additions and 0 deletions
|
@ -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…
Add table
Reference in a new issue