whole_func_string: function MantaFs(opts) {
      assert.object(opts, 'options');
      assert.object(opts.cache, 'options.cache');
      assert.object(opts.log, 'options.log');
      assert.object(opts.manta, 'options.manta');
      assert.number(opts.uid, 'uid');
      assert.number(opts.gid, 'gid');
  
      events.EventEmitter.call(this, opts);
  
      this.cache = opts.cache;
  
      this.log = opts.log.child({component: 'MantaFsApi'}, true);
      this.manta = opts.manta;
      nobody_uid = opts.uid;
      nobody_gid = opts.gid;
  
      this._fd = 3;
      this._fds = {};
  
      this.cache.on('close', this.emit.bind(this, 'close'));
      this.cache.on('error', this.emit.bind(this, 'error'));
      this.cache.once('ready', this.emit.bind(this, 'ready'));
  }
func_code_string: function MantaFs(opts) {
      assert.object(opts, 'options');
      assert.object(opts.cache, 'options.cache');
      assert.object(opts.log, 'options.log');
      assert.object(opts.manta, 'options.manta');
      assert.number(opts.uid, 'uid');
      assert.number(opts.gid, 'gid');
  
      events.EventEmitter.call(this, opts);
  
      this.cache = opts.cache;
  
      this.log = opts.log.child({component: 'MantaFsApi'}, true);
      this.manta = opts.manta;
      nobody_uid = opts.uid;
      nobody_gid = opts.gid;
  
      this._fd = 3;
      this._fds = {};
  
      this.cache.on('close', this.emit.bind(this, 'close'));
      this.cache.on('error', this.emit.bind(this, 'error'));
      this.cache.once('ready', this.emit.bind(this, 'ready'));
  }
func_documentation_string: /--- API 
  Constructor
  
  This creates a MantaFs instance, and assumes you are going to pass it in a
  valid node-manta handle. Additionally, you pass in the following options:
  
  - log<Bunyan>: log handle
  
  Once you instantiate this, wait for the `ready` event.