UNPKG

diffusion

Version:

Diffusion JavaScript client

40 lines (39 loc) 1.25 kB
"use strict"; /** * @module Activity */ Object.defineProperty(exports, "__esModule", { value: true }); exports.connectionActivityMonitorFactory = void 0; var connection_activity_monitor_1 = require("./../activity/connection-activity-monitor"); /** * The client will wait a maximum of two system ping periods for a ping from the * server before declaring the connection idle and closing it. */ var pingTimeoutFactor = 2; /** * A {@link ConnectionActivityMonitor} that does nothing */ var noop = { onSystemPing: function () { }, shutdown: function () { } }; /** * Factory for connection activity monitors. * * @param connection the connection to be monitored * @param response the new connection response */ function connectionActivityMonitorFactory(connection, response) { if (!response.systemPingPeriod) { return noop; } var systemPingPeriod = response.systemPingPeriod.toNumber(); if (systemPingPeriod > 0) { var pingTimeout = systemPingPeriod * pingTimeoutFactor; return new connection_activity_monitor_1.ConnectionActivityMonitorImpl(pingTimeout, connection); } else { return noop; } } exports.connectionActivityMonitorFactory = connectionActivityMonitorFactory;