whole_func_string: function HotPath(options) {
    if (!this) return new HotPath(options);
  
    options = options || {};
  
    this.maximum = bytes(options.maximum || HotPath.maximum); // Max memory available.
    this.free = this.ram(options.available);                  // Free mem we can use.
    this.prefix = options.prefix || '_HotPath';               // Prefix for keys.
    this.countkey = options.key || false;                     // Include key length.
    this.storage = Object.create(null);                       // Empty object.
    this.allocated = 0;                                       // size of mem used.
  }
func_code_string: function HotPath(options) {
    if (!this) return new HotPath(options);
  
    options = options || {};
  
    this.maximum = bytes(options.maximum || HotPath.maximum); // Max memory available.
    this.free = this.ram(options.available);                  // Free mem we can use.
    this.prefix = options.prefix || '_HotPath';               // Prefix for keys.
    this.countkey = options.key || false;                     // Include key length.
    this.storage = Object.create(null);                       // Empty object.
    this.allocated = 0;                                       // size of mem used.
  }
func_documentation_string: HotPath: A memory constrained cache for HotPath or critical files. These
  files should be served out of memory instead of from disk for performance
  reasons.
  
  Options:
  
  - maximum: The maximum amount of memory we can allocate for our given
  hotpath cache.
  - available: The amount of memory available on the system. We will calculate
  our hotpath cache size based on this. It should be given as bytes.
  - prefix: A prefix for the keys to prevent dictionary attacks when storing
  things like `__proto__` in the object.
  
  @constructor
  @param {Object} options Configuration for HotPath.
  @api public