commit | a97fbb7c9d8e1297453a5d45a36d487485b5de43 | [log] [tgz] |
---|---|---|
author | bnc <bnc@google.com> | Thu Jun 17 06:47:55 2021 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Thu Jun 17 06:48:41 2021 -0700 |
tree | ad98910770b5411ef05cb90b717e85aa45ee3da9 | |
parent | 85e8667f3db9d6748ad8fe4609ee6a227cb10034 [diff] |
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
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.