whole_func_string: 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();
  }
func_code_string: 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();
  }
func_documentation_string: 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