closure/goog/labs/net/webchannel/forwardchannelrequestpool.js
function(opt_maxPoolSize) {
  /**
   * The max pool size as configured.
   *
   * @private {number}
   */
  this.maxPoolSizeConfigured_ =
      opt_maxPoolSize || ForwardChannelRequestPool.MAX_POOL_SIZE_;

  /**
   * The current size limit of the request pool. This limit is meant to be
   * read-only after the channel is fully opened.
   *
   * If SPDY or HTTP2 is enabled, set it to the max pool size, which is also
   * configurable.
   *
   * @private {number}
   */
  this.maxSize_ = ForwardChannelRequestPool.isSpdyOrHttp2Enabled_() ?
      this.maxPoolSizeConfigured_ :
      1;

  /**
   * The container for all the pending request objects.
   *
   * @private {Set<ChannelRequest>}
   */
  this.requestPool_ = null;

  if (this.maxSize_ > 1) {
    this.requestPool_ = new Set();
  }

  /**
   * The single request object when the pool size is limited to one.
   *
   * @private {ChannelRequest}
   */
  this.request_ = null;

  /**
   * Saved pending messages when the pool is cancelled.
   *
   * @private {!Array<Wire.QueuedMap>}
   */
  this.pendingMessages_ = [];
}
function(opt_maxPoolSize) {
  /**
   * The max pool size as configured.
   *
   * @private {number}
   */
  this.maxPoolSizeConfigured_ =
      opt_maxPoolSize || ForwardChannelRequestPool.MAX_POOL_SIZE_;

  /**
   * The current size limit of the request pool. This limit is meant to be
   * read-only after the channel is fully opened.
   *
   * If SPDY or HTTP2 is enabled, set it to the max pool size, which is also
   * configurable.
   *
   * @private {number}
   */
  this.maxSize_ = ForwardChannelRequestPool.isSpdyOrHttp2Enabled_() ?
      this.maxPoolSizeConfigured_ :
      1;

  /**
   * The container for all the pending request objects.
   *
   * @private {Set<ChannelRequest>}
   */
  this.requestPool_ = null;

  if (this.maxSize_ > 1) {
    this.requestPool_ = new Set();
  }

  /**
   * The single request object when the pool size is limited to one.
   *
   * @private {ChannelRequest}
   */
  this.request_ = null;

  /**
   * Saved pending messages when the pool is cancelled.
   *
   * @private {!Array<Wire.QueuedMap>}
   */
  this.pendingMessages_ = [];
}
function ( opt_maxPoolSize ) { /**
   * The max pool size as configured.
   *
   * @private {number}
   */ this . maxPoolSizeConfigured_ = opt_maxPoolSize || ForwardChannelRequestPool . MAX_POOL_SIZE_ ; /**
   * The current size limit of the request pool. This limit is meant to be
   * read-only after the channel is fully opened.
   *
   * If SPDY or HTTP2 is enabled, set it to the max pool size, which is also
   * configurable.
   *
   * @private {number}
   */ this . maxSize_ = ForwardChannelRequestPool . isSpdyOrHttp2Enabled_ ( ) ? this . maxPoolSizeConfigured_ : 1 ; /**
   * The container for all the pending request objects.
   *
   * @private {Set<ChannelRequest>}
   */ this . requestPool_ = null ; if ( this . maxSize_ > 1 ) { this . requestPool_ = new Set ( ) ; } /**
   * The single request object when the pool size is limited to one.
   *
   * @private {ChannelRequest}
   */ this . request_ = null ; /**
   * Saved pending messages when the pool is cancelled.
   *
   * @private {!Array<Wire.QueuedMap>}
   */ this . pendingMessages_ = [ ] ; }
This class represents the state of all forward channel requests.

@param {number=} opt_maxPoolSize The maximum pool size.

@struct @constructor @final
This class represents the state of all forward channel requests .