Update some QuicUnorderedMap to QuicHashMap. All of them do not need pointer stability based on my inspection. Most of them are not used in production, the only exception is quic_spdy_client_session_base.h, which is used in Chromium. gfe-relnote: (n/a) Code not used in GFE. PiperOrigin-RevId: 308116637 Change-Id: Iaa85b8edbdcef7849c870b41eefcfa1984cd53c7
diff --git a/quic/core/http/quic_spdy_client_session_base.h b/quic/core/http/quic_spdy_client_session_base.h index 282a8cf..a109d18 100644 --- a/quic/core/http/quic_spdy_client_session_base.h +++ b/quic/core/http/quic_spdy_client_session_base.h
@@ -24,8 +24,7 @@ // to authority constraints). Clients should use this map to enforce // session affinity for requests corresponding to cross-origin push // promised streams. -using QuicPromisedByUrlMap = - QuicUnorderedMap<std::string, QuicClientPromisedInfo*>; +using QuicPromisedByUrlMap = QuicHashMap<std::string, QuicClientPromisedInfo*>; // The maximum time a promises stream can be reserved without being // claimed by a client request. @@ -127,7 +126,7 @@ // For QuicSpdyClientStream to detect that a response corresponds to a // promise. using QuicPromisedByIdMap = - QuicUnorderedMap<QuicStreamId, std::unique_ptr<QuicClientPromisedInfo>>; + QuicHashMap<QuicStreamId, std::unique_ptr<QuicClientPromisedInfo>>; // As per rfc7540, section 10.5: track promise streams in "reserved // (remote)". The primary key is URL from the promise request
diff --git a/quic/masque/masque_client_session.h b/quic/masque/masque_client_session.h index acf2111..fee24c9 100644 --- a/quic/masque/masque_client_session.h +++ b/quic/masque/masque_client_session.h
@@ -86,9 +86,9 @@ void UnregisterConnectionId(QuicConnectionId client_connection_id); private: - QuicUnorderedMap<QuicConnectionId, - EncapsulatedClientSession*, - QuicConnectionIdHash> + QuicHashMap<QuicConnectionId, + EncapsulatedClientSession*, + QuicConnectionIdHash> client_connection_id_registrations_; Owner* owner_; // Unowned; MasqueCompressionEngine compression_engine_;
diff --git a/quic/masque/masque_compression_engine.h b/quic/masque/masque_compression_engine.h index 95328df..5ab88bd 100644 --- a/quic/masque/masque_compression_engine.h +++ b/quic/masque/masque_compression_engine.h
@@ -117,7 +117,7 @@ bool* version_present); QuicSession* masque_session_; // Unowned. - QuicUnorderedMap<QuicDatagramFlowId, MasqueCompressionContext> contexts_; + QuicHashMap<QuicDatagramFlowId, MasqueCompressionContext> contexts_; QuicDatagramFlowId next_flow_id_; };
diff --git a/quic/masque/masque_dispatcher.h b/quic/masque/masque_dispatcher.h index 4817b7b..6901a86 100644 --- a/quic/masque/masque_dispatcher.h +++ b/quic/masque/masque_dispatcher.h
@@ -52,7 +52,7 @@ MasqueServerBackend* masque_server_backend_; // Unowned. // Mapping from client connection IDs to server sessions, allows routing // incoming packets to the right MASQUE connection. - QuicUnorderedMap<QuicConnectionId, MasqueServerSession*, QuicConnectionIdHash> + QuicHashMap<QuicConnectionId, MasqueServerSession*, QuicConnectionIdHash> client_connection_id_registrations_; };
diff --git a/quic/masque/masque_server_backend.h b/quic/masque/masque_server_backend.h index 78dfbf4..481d90d 100644 --- a/quic/masque/masque_server_backend.h +++ b/quic/masque/masque_server_backend.h
@@ -57,9 +57,9 @@ QuicSimpleServerBackend::RequestHandler* request_handler); std::string server_authority_; - QuicUnorderedMap<std::string, std::unique_ptr<QuicBackendResponse>> + QuicHashMap<std::string, std::unique_ptr<QuicBackendResponse>> active_response_map_; - QuicUnorderedMap<QuicConnectionId, BackendClient*, QuicConnectionIdHash> + QuicHashMap<QuicConnectionId, BackendClient*, QuicConnectionIdHash> backend_clients_; };
diff --git a/quic/quartc/quartc_multiplexer.h b/quic/quartc/quartc_multiplexer.h index b90026b..1e6c2e5 100644 --- a/quic/quartc/quartc_multiplexer.h +++ b/quic/quartc/quartc_multiplexer.h
@@ -89,7 +89,7 @@ // to demux sent, acked, and lost messages, the multiplexer assigns a globally // unique id to each message. This map is used to restore the original caller // datagram id before issuing callbacks. - QuicUnorderedMap<int64_t, int64_t> multiplexer_to_user_datagram_ids_; + QuicHashMap<int64_t, int64_t> multiplexer_to_user_datagram_ids_; }; // A single, multiplexed receive channel within a Quartc session. A receive @@ -178,11 +178,11 @@ QuartcSession* session_ = nullptr; std::vector<std::unique_ptr<QuartcSendChannel>> send_channels_; - QuicUnorderedMap<uint64_t, QuartcReceiveChannel*> receive_channels_; + QuicHashMap<uint64_t, QuartcReceiveChannel*> receive_channels_; QuartcReceiveChannel* default_receive_channel_ = nullptr; int64_t next_datagram_id_ = 1; - QuicUnorderedMap<int64_t, QuartcSendChannel*> send_channels_by_datagram_id_; + QuicHashMap<int64_t, QuartcSendChannel*> send_channels_by_datagram_id_; }; } // namespace quic
diff --git a/quic/quartc/quartc_session.h b/quic/quartc/quartc_session.h index e7dd853..66ddfc3 100644 --- a/quic/quartc/quartc_session.h +++ b/quic/quartc/quartc_session.h
@@ -244,7 +244,7 @@ // Maps message ids to datagram ids, so we could translate message ACKs // received from QUIC to datagram ACKs that are propagated up the stack. - QuicUnorderedMap<QuicMessageId, int64_t> message_to_datagram_id_; + QuicHashMap<QuicMessageId, int64_t> message_to_datagram_id_; }; class QuartcClientSession : public QuartcSession,
diff --git a/quic/test_tools/simple_data_producer.h b/quic/test_tools/simple_data_producer.h index be0d846..626d1e9 100644 --- a/quic/test_tools/simple_data_producer.h +++ b/quic/test_tools/simple_data_producer.h
@@ -59,12 +59,12 @@ private: using SendBufferMap = - QuicUnorderedMap<QuicStreamId, std::unique_ptr<QuicStreamSendBuffer>>; + QuicHashMap<QuicStreamId, std::unique_ptr<QuicStreamSendBuffer>>; using CryptoBufferMap = - QuicUnorderedMap<std::pair<EncryptionLevel, QuicStreamOffset>, - quiche::QuicheStringPiece, - PairHash>; + QuicHashMap<std::pair<EncryptionLevel, QuicStreamOffset>, + quiche::QuicheStringPiece, + PairHash>; SimpleBufferAllocator allocator_;
diff --git a/quic/test_tools/simple_session_notifier.h b/quic/test_tools/simple_session_notifier.h index 7366ed8..1237f42 100644 --- a/quic/test_tools/simple_session_notifier.h +++ b/quic/test_tools/simple_session_notifier.h
@@ -101,7 +101,7 @@ friend std::ostream& operator<<(std::ostream& os, const StreamState& s); - using StreamMap = QuicUnorderedMap<QuicStreamId, StreamState>; + using StreamMap = QuicHashMap<QuicStreamId, StreamState>; void OnStreamDataConsumed(QuicStreamId id, QuicStreamOffset offset,
diff --git a/quic/test_tools/simulator/quic_endpoint_base.h b/quic/test_tools/simulator/quic_endpoint_base.h index ae9f69b..f4fe33b 100644 --- a/quic/test_tools/simulator/quic_endpoint_base.h +++ b/quic/test_tools/simulator/quic_endpoint_base.h
@@ -149,7 +149,7 @@ void Act() override {} private: - QuicUnorderedMap<std::string, QuicEndpointBase*> mapping_; + QuicHashMap<std::string, QuicEndpointBase*> mapping_; }; } // namespace simulator
diff --git a/quic/test_tools/simulator/simulator.h b/quic/test_tools/simulator/simulator.h index e8280c0..c1ce073 100644 --- a/quic/test_tools/simulator/simulator.h +++ b/quic/test_tools/simulator/simulator.h
@@ -130,7 +130,7 @@ std::multimap<QuicTime, Actor*> schedule_; // For each actor, maintain the time it is scheduled at. The value for // unscheduled actors is QuicTime::Infinite(). - QuicUnorderedMap<Actor*, QuicTime> scheduled_times_; + QuicHashMap<Actor*, QuicTime> scheduled_times_; QuicHashSet<std::string> actor_names_; };
diff --git a/quic/test_tools/simulator/switch.h b/quic/test_tools/simulator/switch.h index dea8a86..3e4cc20 100644 --- a/quic/test_tools/simulator/switch.h +++ b/quic/test_tools/simulator/switch.h
@@ -80,7 +80,7 @@ // This can not be a QuicCircularDeque since pointers into this are // assumed to be stable. std::deque<Port> ports_; - QuicUnorderedMap<std::string, Port*> switching_table_; + QuicHashMap<std::string, Port*> switching_table_; }; } // namespace simulator
diff --git a/quic/test_tools/simulator/traffic_policer.h b/quic/test_tools/simulator/traffic_policer.h index 1696d5d..e33f51b 100644 --- a/quic/test_tools/simulator/traffic_policer.h +++ b/quic/test_tools/simulator/traffic_policer.h
@@ -44,7 +44,7 @@ QuicTime last_refill_time_; // Maps each destination to the number of tokens it has left. - QuicUnorderedMap<std::string, QuicByteCount> token_buckets_; + QuicHashMap<std::string, QuicByteCount> token_buckets_; }; } // namespace simulator
diff --git a/quic/tools/quic_memory_cache_backend.h b/quic/tools/quic_memory_cache_backend.h index 38d445c..56a2323 100644 --- a/quic/tools/quic_memory_cache_backend.h +++ b/quic/tools/quic_memory_cache_backend.h
@@ -178,7 +178,7 @@ QuicBackendResponse::ServerPushInfo resource); // Cached responses. - QuicUnorderedMap<std::string, std::unique_ptr<QuicBackendResponse>> responses_ + QuicHashMap<std::string, std::unique_ptr<QuicBackendResponse>> responses_ QUIC_GUARDED_BY(response_mutex_); // The default response for cache misses, if set.
diff --git a/quic/tools/quic_tcp_like_trace_converter.h b/quic/tools/quic_tcp_like_trace_converter.h index 4329805..46dd795 100644 --- a/quic/tools/quic_tcp_like_trace_converter.h +++ b/quic/tools/quic_tcp_like_trace_converter.h
@@ -59,9 +59,8 @@ bool fin; }; - QuicUnorderedMap<QuicStreamId, StreamInfo> streams_info_; - QuicUnorderedMap<QuicControlFrameId, QuicInterval<uint64_t>> - control_frames_info_; + QuicHashMap<QuicStreamId, StreamInfo> streams_info_; + QuicHashMap<QuicControlFrameId, QuicInterval<uint64_t>> control_frames_info_; QuicControlFrameId largest_observed_control_frame_id_;