Move QuicIntervalSet:Set allocator template argument to internal platform impl.

Also rename QuicOrderedSet to QuicSmallOrderedSet to reflect that this
container is optimized for small sets.

Before this change Set is some_internal_container<absl::InlinedVector>
(preferred) internally and absl::btree_set<std::vector> in Chromium.

After this change Set is the same internally but absl::btree_set (without the
extra allocator argument) in Chromium.

Chromium's QuicOrderedSetImpl should later be changed to base::flat_set, which
aligns better with the performance properties of the internal implementation
(and the performance requirements of QuicIntervalSet) than absl::btree_set.

This change unblocks changing Chromium's QuicInlinedVectorImpl from std::vector
to absl::InlinedVector, which is currently not possible because
absl::btree_set<absl::InlinedVector> does not compile.
PiperOrigin-RevId: 379947057
2 files changed
tree: ad98910770b5411ef05cb90b717e85aa45ee3da9
  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.