Refactor Http2Dispatcher (et al.) to prepare for --shinkansen_trace_logging.

This CL introduces several hooks in Http2Dispatcher for determining whether to
trace log and for creating trace loggers. The idea is to override these hooks
in VtlClientDispatcher and VtlBackendDispatcher to use shinkansen_trace_logging
(created in cl/344470308, installed in cl/344470585). This CL adds analogous
hooks for test classes. The hooks need to generalize the trace logger type to
an interface, so the destructor of the SpdyFrameVisitor interface needed to
be public.

This CL also brings some logging from Http2WriteQueue and Http2DataFrameBuilder
back to Http2Dispatcher, in order to consolidate and simplify trace logging.

PiperOrigin-RevId: 345259520
Change-Id: Ib0f02bca2a88c8353bbeb2621fcfbf901a677342
1 file changed
tree: 2269a95230bc2fd48b93ba3ccc7659e5524413c6
  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. QUICHE is only supported on little-endian platforms.

Code can be viewed in CodeSearch in Quiche and is imported into Chromium.