lib/queue.js
function Queue(cache, ttl) {
  this.cache        = cache || memory();
  this.fn_cache     = FnCache();
  this.queue        = QueueEntry(this.fn_cache, this.cache);
  this.ttl          = ttl;
  this.semaphore    = Semaphore();
}
function Queue(cache, ttl) {
  this.cache        = cache || memory();
  this.fn_cache     = FnCache();
  this.queue        = QueueEntry(this.fn_cache, this.cache);
  this.ttl          = ttl;
  this.semaphore    = Semaphore();
}
Queue ===== This is a simple queue object that queues up requests making use of a cache object.  It is intended that this queue will be used to flatten out the demand for a resource that sits behind it. @param {iCache} cache @param {EntryFactory} entry_factory