UNPKG

diffusion

Version:

Diffusion JavaScript client

34 lines (29 loc) 947 B
/*eslint valid-jsdoc: "off"*/ /** * Activity monitor for connection. * @param pingTimeout Timeout for pings in milliseconds * @param connection The connection being monitored */ function ConnectionActivityMonitor(pingTimeout, connection) { var currentTimeout = null; /** * Called when a system ping is received from the server. */ this.onSystemPing = function() { if (currentTimeout !== null) { clearTimeout(currentTimeout); currentTimeout = setTimeout(connection.closeIdleConnection.bind(connection), pingTimeout); } }; /** * Shutdown the monitor. */ this.shutdown = function() { if (currentTimeout !== null) { clearTimeout(currentTimeout); currentTimeout = null; } }; currentTimeout = setTimeout(connection.closeIdleConnection.bind(connection), pingTimeout); } module.exports = ConnectionActivityMonitor;