Add QuicBidiTest cases for aggregation and small, frequent competing bursts.

Small, frequent spikes demonstrate a problem with GoogCC, as it doesn't compete
effectively for bandwidth--it repeatedly yields until it's sending at about 100
kbps.  The competing flow (10 kb every 2 seconds) should only take ~40 kbps,
leaving ~260 kbps for the GoogCC flow.  However, the bursty nature of the
competition seems to push out the Quartc/GoogCC flow.

BBR has a different problem with these spikes--it seems to result in very high
end-to-end delay (approximately 3 seconds).

Aggregation seems to be handled fairly well by both algorithms, but neither
handles it perfectly.  Both see slight reduction in throughput and slight
increase in average/max one-way delay.

GoogCC:  http://sponge/00221ae4-e916-4277-b1c5-e2a0509d8128
BBR:  http://sponge/18e0ab84-0005-4cf6-b2a3-b133f40d9cd8

gfe-relnote: n/a (Quartc test only)
PiperOrigin-RevId: 247069192
Change-Id: I2cda25e404e533f89cd8a4b0a44d8b9df142431d
1 file changed
tree: af4573b5faa2815d39bcdd850c846bfbf160eb61
  1. common/
  2. epoll_server/
  3. http2/
  4. quic/
  5. spdy/
  6. CONTRIBUTING.md
  7. LICENSE
  8. README.md
README.md

QUICHE

QUICHE (QUIC, Http/2, Etc) is Google‘s implementation of QUIC and related protocols. It powers Chromium as well as Google’s QUIC servers and some other projects.

The code is currently in process of being moved from https://cs.chromium.org/chromium/src/net/third_party/ into this repository. Please excuse our appearance while we're under construction.