Inject a random number generator into QuartcEndpoint and SendAlgorithms.

QuicSentPacketManager now takes a QuicRandom instance in its construtor.  It
shares the connection's random number generator, which may be injected through
the QuicConnectionHelperInterface.  This random number generator is only used to
create a send algorithm.

Rather than using the default instance of QuicRandom, QuartcEndpoint and
QuartcConnectionHelper now use an injected instance.  In production, this will
still be the default instance.  However, in tests it may be replaced with a
deterministic generator (for reproducible results).

In all tests that currently use the QUIC simulator and construct their own
endpoints, inject the simulator's random number generator.

In QuartcBidiTest, set the simulator to use a SimpleRandom generator (which
should give predictable output based on a fixed seed).

gfe-relnote: n/a (Quartc only)
PiperOrigin-RevId: 244280321
Change-Id: I1925f79e3cec3ff7f474f4b979b85c387751503f
13 files changed
tree: a789ac1def2283e89ecc83ab23ed6b5f16b22458
  1. epoll_server/
  2. http2/
  3. quic/
  4. spdy/
  5. CONTRIBUTING.md
  6. LICENSE
  7. 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.