Remove one layer of abstraction in QuicCryptoServerStream classes

The former QuicCryptoServerStream::HandshakerDelegate interface matches the
interface of QuicCryptoServerStreamBase. Classes that formerly implemented
the HandshakerDelegate now directly implement QuicCryptoServerStreamBase
and the QuicCryptoServerStream class is removed.

Prior to this change, QuicCryptoServerStream extends QuicCryptoServerStreamBase,
but the whole implementation of QuicCryptoServerStream is to call the
corresponding methods on its HandshakerInterface. The only implementation of
QuicCryptoServerStream::HandshakerInterface is QuicCryptoServerHandshaker. That
class now directly implements QuicCryptoServerStreamBase and bypasses
QuicCryptoServerStream. A similar setup exists with GfeQuicCryptoServerStream
extending QuicCryptoServerStream, but delegating its entire implementation to
GfeQuicCryptoServerHandshaker. Now GfeQuicCryptoServerStream is removed, and
GfeQuicCryptoServerHandshaker implements GfeCryptoServerStream (which used to
be implemented by GfeQuicCryptoServerStream).

The only place (excluding test code) where a GfeQuicCryptoServerStream is
created is in CreateGfeCryptoServerStream, which now creates a
GfeQuicCryptoServerHandshaker directly. Likewise, the only place a
QuicCryptoServerStream is created (apart from the GfeQuicCryptoServerStream
subclass, which is taken care of by the above, and excluding test code) is in
CreateCryptoServerStream, which now creates a QuicCryptoServerHandshaker
instead of a QuicCryptoServerStream.

gfe-relnote: rename classes and remove dead code. no behavior change, not flag protected
PiperOrigin-RevId: 296542342
Change-Id: I516035e2f574554dd5a32ba3ac413c2d16d46c8d
6 files changed
tree: f18a417bbbed5971d50fd911212d3728e3aa6ca4
  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.