'use strict';
var MAX_PORTS = 65535;
module.exports = DebugPortAllocator;
function DebugPortAllocator() {
this.ports = Object.create(null);
this.length = 0;
}
DebugPortAllocator.prototype.nextAvailableStartingAt = function(starting) {
while (this.ports[starting] === true) {
starting++;
}
if (starting >= MAX_PORTS) {
throw new Error('WorkerPool debug port limit reached: ' + starting + '>= ' + MAX_PORTS );
}
this.ports[starting] = true;
this.length++;
return starting;
};
DebugPortAllocator.prototype.releasePort = function(port) {
delete this.ports[port];
this.length--;
};