in content/lib/paho-mqtt.js [692:729]
var Pinger = function(client, window, keepAliveInterval) {
this._client = client;
this._window = window;
this._keepAliveInterval = keepAliveInterval*1000;
this.isReset = false;
var pingReq = new WireMessage(MESSAGE_TYPE.PINGREQ).encode();
var doTimeout = function (pinger) {
return function () {
return doPing.apply(pinger);
};
};
/** @ignore */
var doPing = function() {
if (!this.isReset) {
this._client._trace("Pinger.doPing", "Timed out");
this._client._disconnected( ERROR.PING_TIMEOUT.code , format(ERROR.PING_TIMEOUT));
} else {
this.isReset = false;
this._client._trace("Pinger.doPing", "send PINGREQ");
this._client.socket.send(pingReq);
this.timeout = this._window.setTimeout(doTimeout(this), this._keepAliveInterval);
}
};
this.reset = function() {
this.isReset = true;
this._window.clearTimeout(this.timeout);
if (this._keepAliveInterval > 0)
this.timeout = setTimeout(doTimeout(this), this._keepAliveInterval);
};
this.cancel = function() {
this._window.clearTimeout(this.timeout);
};
};