diffusion
Version:
Diffusion JavaScript client
54 lines (53 loc) • 1.61 kB
JavaScript
;
/**
* @module Activity
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.sessionActivityMonitorFactory = void 0;
/**
* Implementation of {@link SessionActivityMonitor}
*/
var SessionActivityMonitorImpl = /** @class */ (function () {
/**
* Construct a new SessionActivityMonitorImpl instance
*
* @param connectionActivityMonitorFactory Factory for connection activity monitors
*/
function SessionActivityMonitorImpl(factory) {
this.factory = factory;
}
/**
* @inheritdoc
*/
SessionActivityMonitorImpl.prototype.onNewConnection = function (connection, response) {
this.currentConnectionMonitor = this.factory(connection, response);
};
/**
* @inheritdoc
*/
SessionActivityMonitorImpl.prototype.onConnectionClosed = function () {
if (this.currentConnectionMonitor !== undefined) {
this.currentConnectionMonitor.shutdown();
this.currentConnectionMonitor = undefined;
}
};
/**
* @inheritdoc
*/
SessionActivityMonitorImpl.prototype.onSystemPing = function () {
if (this.currentConnectionMonitor !== undefined) {
this.currentConnectionMonitor.onSystemPing();
}
};
return SessionActivityMonitorImpl;
}());
exports.sessionActivityMonitorFactory = {
NOOP: {
onNewConnection: function () { },
onConnectionClosed: function () { },
onSystemPing: function () { }
},
create: function (factory) {
return new SessionActivityMonitorImpl(factory);
}
};