serverless-spy
Version:
CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.
33 lines (32 loc) • 821 B
JavaScript
export class NodeHttp2ConnectionPool {
constructor(sessions) {
this.sessions = [];
this.sessions = 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();
}
}
}
}
}