Refactor QUIC version parsing

This CL fixes an oversight where QuicFramer::ParsePublicHeader was not parsing the version when parsing packets from versions <= 43. This was not an issue because there are only two clients of that method:
1) QuicFramer::ProcessIetfPacketHeader and that is not called for versions <= 43.
2) QuicDispatcher::ProcessPacket and that was parsing the version after the fact (this CL now removes that when the quic_use_parse_public_header flag is true which corresponds to when the dispatcher uses ParsePublicHeader.

This CL also adds a test to prevent this from regressing.

Since this CL only refactors code and does not change functionality, it is not flag protected.

gfe-relnote: refactor version parsing, not flag protected
PiperOrigin-RevId: 261792952
Change-Id: If5a1333590a41e8a03fd53c6f8cea70fa47e8fd4
4 files changed
tree: 63f03709d6d3947bd2fb1ad7d8db21c1faeef443
  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.