constructor(xhrReader) {
    /**
     * @const
     * @private {?googLog.Logger} the logger.
     */
    this.logger_ = googLog.getLogger('goog.net.streams.XhrNodeReadableStream');


    /**
     * The xhr reader.
     *
     * @private {!XhrStreamReader} the xhr reader.
     */
    this.xhrReader_ = xhrReader;

    this.xhrReader_.setDataHandler(goog.bind(this.onData_, this));
    this.xhrReader_.setStatusHandler(goog.bind(this.onStatusChange_, this));

    /**
     * The callback map, keyed by eventTypes.
     *
     * @private {!Object<!Array<function(!Object=)>>}
     */
    this.callbackMap_ = {};

    /**
     * The callback-once map, keyed by eventTypes.
     *
     * @private {!Object<!Array<function(!Object=)>>}
     */
    this.callbackOnceMap_ = {};
  }
@param {!XhrStreamReader} xhrReader The XhrStreamReader object that handles
    the events of the underlying Xhr.