cdk-amazon-chime-resources
Version:

37 lines (36 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeHttp2ConnectionPool = void 0;
class NodeHttp2ConnectionPool {
constructor(sessions) {
this.sessions = [];
this.sessions = sessions !== null && sessions !== void 0 ? sessions : [];
}
poll() {
if (this.sessions.length > 0) {
return this.sessions.shift();
}
}
offerLast(session) {
this.sessions.push(session);
}
contains(session) {
return this.sessions.includes(session);
}
remove(session) {
this.sessions = this.sessions.filter((s) => s !== session);
}
[Symbol.iterator]() {
return this.sessions[Symbol.iterator]();
}
destroy(connection) {
for (const session of this.sessions) {
if (session === connection) {
if (!session.destroyed) {
session.destroy();
}
}
}
}
}
exports.NodeHttp2ConnectionPool = NodeHttp2ConnectionPool;