UNPKG

@zkp2p/reclaim-witness-sdk

Version:

<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>

42 lines 2.64 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addKeepAlive = addKeepAlive; const config_1 = require("../../config"); /** * Adds a keep-alive mechanism to the WebSocket * client */ function addKeepAlive(ws, logger) { let sendTimeout; let killTimeout; ws.on('message', () => { logger.trace('data recv, resetting timer'); resetTimer(); }); ws.on('pong', () => { logger.trace('pong received, resetting timer'); resetTimer(); }); ws.on('error', cleanup); ws.on('close', cleanup); function resetTimer() { cleanup(); resetSendTimeout(); killTimeout = setTimeout(() => { logger.warn('no data received in a while, closing connection'); ws.close(); }, config_1.MAX_NO_DATA_INTERVAL_MS); } function resetSendTimeout() { // reset ping sendTimeout = setTimeout(() => { ws.ping(); resetSendTimeout(); }, config_1.PING_INTERVAL_MS); } function cleanup() { clearTimeout(killTimeout); clearTimeout(sendTimeout); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VlcC1hbGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2ZXIvdXRpbHMva2VlcC1hbGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBLG9DQXdDQztBQS9DRCx1Q0FBc0U7QUFHdEU7OztHQUdHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLEVBQWEsRUFBRSxNQUFjO0lBQ3pELElBQUksV0FBMkIsQ0FBQTtJQUMvQixJQUFJLFdBQTJCLENBQUE7SUFFL0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFO1FBQ3JCLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtRQUMxQyxVQUFVLEVBQUUsQ0FBQTtJQUNiLENBQUMsQ0FBQyxDQUFBO0lBQ0YsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ2xCLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtRQUM5QyxVQUFVLEVBQUUsQ0FBQTtJQUNiLENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDdkIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFFdkIsU0FBUyxVQUFVO1FBQ2xCLE9BQU8sRUFBRSxDQUFBO1FBQ1QsZ0JBQWdCLEVBQUUsQ0FBQTtRQUVsQixXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUM3QixNQUFNLENBQUMsSUFBSSxDQUNWLGlEQUFpRCxDQUNqRCxDQUFBO1lBQ0QsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ1gsQ0FBQyxFQUFFLGdDQUF1QixDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELFNBQVMsZ0JBQWdCO1FBQ3hCLGFBQWE7UUFDYixXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUM3QixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDVCxnQkFBZ0IsRUFBRSxDQUFBO1FBQ25CLENBQUMsRUFBRSx5QkFBZ0IsQ0FBQyxDQUFBO0lBQ3JCLENBQUM7SUFFRCxTQUFTLE9BQU87UUFDZixZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDekIsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzFCLENBQUM7QUFDRixDQUFDIn0=