diff --git a/modules/connectivity/IceFailedHandling.js b/modules/connectivity/IceFailedHandling.ts similarity index 92% rename from modules/connectivity/IceFailedHandling.js rename to modules/connectivity/IceFailedHandling.ts index 4aff8a94ae..e7247b2696 100644 --- a/modules/connectivity/IceFailedHandling.js +++ b/modules/connectivity/IceFailedHandling.ts @@ -2,6 +2,7 @@ import { getLogger } from '@jitsi/logger'; import * as JitsiConferenceErrors from '../../JitsiConferenceErrors'; import * as JitsiConferenceEvents from '../../JitsiConferenceEvents'; +import JitsiConference from '../../JitsiConference'; const logger = getLogger(__filename); @@ -14,11 +15,15 @@ const logger = getLogger(__filename); * 'enableForcedReload' option is set in config.js, the conference will be forcefully reloaded. */ export default class IceFailedHandling { + private _conference: JitsiConference; + private _canceled: boolean = false; + private _iceFailedTimeout?: number; + /** * Creates new {@code DelayedIceFailed} task. * @param {JitsiConference} conference */ - constructor(conference) { + constructor(conference:JitsiConference) { this._conference = conference; } @@ -28,7 +33,7 @@ export default class IceFailedHandling { * @private * @returns {void} */ - _actOnIceFailed() { + _actOnIceFailed(): void { if (!this._conference.room) { return; } @@ -66,8 +71,9 @@ export default class IceFailedHandling { /** * Starts the task. + * @returns {void} */ - start() { + start(): void { // Using xmpp.ping allows to handle both XMPP being disconnected and internet offline cases. The ping function // uses sendIQ2 method which is resilient to XMPP connection disconnected state and will patiently wait until it // gets reconnected. @@ -93,8 +99,9 @@ export default class IceFailedHandling { /** * Cancels the task. + * @returns {void} */ - cancel() { + cancel(): void { this._canceled = true; window.clearTimeout(this._iceFailedTimeout); }