Replace QuicUnorderedMap and QuicHashMap with the corresponding Abseil classes.
Chromium has been using Abseil for those since September, so it should be safe
to switch.
PiperOrigin-RevId: 355221659
Change-Id: I0c1006c193554f71745234ba4b90eafc8ff30ed9
diff --git a/quic/core/crypto/proof_source_x509.h b/quic/core/crypto/proof_source_x509.h
index 24975ba..83de1de 100644
--- a/quic/core/crypto/proof_source_x509.h
+++ b/quic/core/crypto/proof_source_x509.h
@@ -9,6 +9,7 @@
#include <memory>
#include "absl/base/attributes.h"
+#include "absl/container/node_hash_map.h"
#include "absl/strings/string_view.h"
#include "quic/core/crypto/certificate_view.h"
#include "quic/core/crypto/proof_source.h"
@@ -68,7 +69,7 @@
std::forward_list<Certificate> certificates_;
Certificate* default_certificate_;
- QuicUnorderedMap<std::string, Certificate*> certificate_map_;
+ absl::node_hash_map<std::string, Certificate*> certificate_map_;
};
} // namespace quic
diff --git a/quic/core/crypto/transport_parameters.h b/quic/core/crypto/transport_parameters.h
index f78cd2c..b6ecb69 100644
--- a/quic/core/crypto/transport_parameters.h
+++ b/quic/core/crypto/transport_parameters.h
@@ -8,6 +8,7 @@
#include <memory>
#include <vector>
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "quic/core/quic_connection_id.h"
@@ -29,7 +30,7 @@
// The identifier used to differentiate transport parameters.
enum TransportParameterId : uint64_t;
// A map used to specify custom parameters.
- using ParameterMap = QuicHashMap<TransportParameterId, std::string>;
+ using ParameterMap = absl::flat_hash_map<TransportParameterId, std::string>;
// Represents an individual QUIC transport parameter that only encodes a
// variable length integer. Can only be created inside the constructor for
// TransportParameters.
diff --git a/quic/core/http/http_frames.h b/quic/core/http/http_frames.h
index 6669242..34c3d60 100644
--- a/quic/core/http/http_frames.h
+++ b/quic/core/http/http_frames.h
@@ -11,6 +11,7 @@
#include <ostream>
#include <sstream>
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "quic/core/http/http_constants.h"
@@ -70,7 +71,7 @@
// affect how endpoints communicate, such as preferences and constraints
// on peer behavior
-using SettingsMap = QuicHashMap<uint64_t, uint64_t>;
+using SettingsMap = absl::flat_hash_map<uint64_t, uint64_t>;
struct QUIC_EXPORT_PRIVATE SettingsFrame {
SettingsMap values;
diff --git a/quic/core/http/quic_spdy_client_session_base.h b/quic/core/http/quic_spdy_client_session_base.h
index 01361fd..71236bf 100644
--- a/quic/core/http/quic_spdy_client_session_base.h
+++ b/quic/core/http/quic_spdy_client_session_base.h
@@ -7,6 +7,7 @@
#include <string>
+#include "absl/container/flat_hash_map.h"
#include "quic/core/http/quic_spdy_session.h"
#include "quic/core/quic_crypto_client_stream.h"
#include "quic/platform/api/quic_containers.h"
@@ -24,7 +25,8 @@
// to authority constraints). Clients should use this map to enforce
// session affinity for requests corresponding to cross-origin push
// promised streams.
-using QuicPromisedByUrlMap = QuicHashMap<std::string, QuicClientPromisedInfo*>;
+using QuicPromisedByUrlMap =
+ absl::flat_hash_map<std::string, QuicClientPromisedInfo*>;
// The maximum time a promises stream can be reserved without being
// claimed by a client request.
@@ -126,7 +128,8 @@
// For QuicSpdyClientStream to detect that a response corresponds to a
// promise.
using QuicPromisedByIdMap =
- QuicHashMap<QuicStreamId, std::unique_ptr<QuicClientPromisedInfo>>;
+ absl::flat_hash_map<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/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h
index cda619b..3c3d558 100644
--- a/quic/core/http/quic_spdy_session.h
+++ b/quic/core/http/quic_spdy_session.h
@@ -9,6 +9,7 @@
#include <memory>
#include <string>
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "quic/core/http/http_frames.h"
@@ -591,7 +592,7 @@
// Priority values received in PRIORITY_UPDATE frames for streams that are not
// open yet.
- QuicHashMap<QuicStreamId, int> buffered_stream_priorities_;
+ absl::flat_hash_map<QuicStreamId, int> buffered_stream_priorities_;
// An integer used for live check. The indicator is assigned a value in
// constructor. As long as it is not the assigned value, that would indicate
diff --git a/quic/core/qpack/qpack_blocking_manager.h b/quic/core/qpack/qpack_blocking_manager.h
index d8c10f1..70870a6 100644
--- a/quic/core/qpack/qpack_blocking_manager.h
+++ b/quic/core/qpack/qpack_blocking_manager.h
@@ -9,6 +9,7 @@
#include <map>
#include <set>
+#include "absl/container/flat_hash_map.h"
#include "quic/core/quic_types.h"
#include "quic/platform/api/quic_containers.h"
#include "quic/platform/api/quic_export.h"
@@ -77,7 +78,7 @@
// same time. Use std::list instead of QuicCircularDeque because it has lower
// memory footprint when holding few elements.
using HeaderBlocksForStream = std::list<IndexSet>;
- using HeaderBlocks = QuicHashMap<QuicStreamId, HeaderBlocksForStream>;
+ using HeaderBlocks = absl::flat_hash_map<QuicStreamId, HeaderBlocksForStream>;
// Increase or decrease the reference count for each index in |indices|.
void IncreaseReferenceCounts(const IndexSet& indices);
diff --git a/quic/core/quic_dispatcher.h b/quic/core/quic_dispatcher.h
index 14ca07c..4245a5d 100644
--- a/quic/core/quic_dispatcher.h
+++ b/quic/core/quic_dispatcher.h
@@ -13,6 +13,7 @@
#include <string>
#include <vector>
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
#include "quic/core/crypto/quic_compressed_certs_cache.h"
#include "quic/core/crypto/quic_random.h"
@@ -119,13 +120,14 @@
void OnConnectionAddedToTimeWaitList(
QuicConnectionId server_connection_id) override;
- using SessionMap = QuicHashMap<QuicConnectionId,
- std::unique_ptr<QuicSession>,
- QuicConnectionIdHash>;
+ using SessionMap = absl::flat_hash_map<QuicConnectionId,
+ std::unique_ptr<QuicSession>,
+ QuicConnectionIdHash>;
- using ReferenceCountedSessionMap = QuicHashMap<QuicConnectionId,
- std::shared_ptr<QuicSession>,
- QuicConnectionIdHash>;
+ using ReferenceCountedSessionMap =
+ absl::flat_hash_map<QuicConnectionId,
+ std::shared_ptr<QuicSession>,
+ QuicConnectionIdHash>;
size_t NumSessions() const;
@@ -134,8 +136,8 @@
// Deletes all sessions on the closed session list and clears the list.
virtual void DeleteSessions();
- using ConnectionIdMap =
- QuicHashMap<QuicConnectionId, QuicConnectionId, QuicConnectionIdHash>;
+ using ConnectionIdMap = absl::
+ flat_hash_map<QuicConnectionId, QuicConnectionId, QuicConnectionIdHash>;
// QuicBufferedPacketStore::VisitorInterface implementation.
void OnExpiredPackets(QuicConnectionId server_connection_id,
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index d9c9b93..cf7f9f7 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -14,6 +14,7 @@
#include <string>
#include <vector>
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "quic/core/frames/quic_ack_frequency_frame.h"
@@ -612,15 +613,16 @@
}
protected:
- using StreamMap = QuicHashMap<QuicStreamId, std::unique_ptr<QuicStream>>;
+ using StreamMap =
+ absl::flat_hash_map<QuicStreamId, std::unique_ptr<QuicStream>>;
using PendingStreamMap =
- QuicHashMap<QuicStreamId, std::unique_ptr<PendingStream>>;
+ absl::flat_hash_map<QuicStreamId, std::unique_ptr<PendingStream>>;
using ClosedStreams = std::vector<std::unique_ptr<QuicStream>>;
using ZombieStreamMap =
- QuicHashMap<QuicStreamId, std::unique_ptr<QuicStream>>;
+ absl::flat_hash_map<QuicStreamId, std::unique_ptr<QuicStream>>;
// Creates a new stream to handle a peer-initiated stream.
// Caller does not own the returned stream.
@@ -833,7 +835,7 @@
// Keep track of highest received byte offset of locally closed streams, while
// waiting for a definitive final highest offset from the peer.
- QuicHashMap<QuicStreamId, QuicStreamOffset>
+ absl::flat_hash_map<QuicStreamId, QuicStreamOffset>
locally_closed_streams_highest_offset_;
QuicConnection* connection_;
diff --git a/quic/core/quic_time_wait_list_manager.h b/quic/core/quic_time_wait_list_manager.h
index 4e685f9..9b3739b 100644
--- a/quic/core/quic_time_wait_list_manager.h
+++ b/quic/core/quic_time_wait_list_manager.h
@@ -11,6 +11,7 @@
#include <cstddef>
#include <memory>
+#include "absl/container/flat_hash_map.h"
#include "quic/core/quic_blocked_writer_interface.h"
#include "quic/core/quic_connection_id.h"
#include "quic/core/quic_framer.h"
@@ -294,7 +295,7 @@
// find the entry, look up the cannoical ConnectionId in
// indirect_connection_id_map_ first, and look up connection_id_map_ with the
// cannoical ConnectionId.
- QuicHashMap<QuicConnectionId, QuicConnectionId, QuicConnectionIdHash>
+ absl::flat_hash_map<QuicConnectionId, QuicConnectionId, QuicConnectionIdHash>
indirect_connection_id_map_;
// Find an iterator for the given connection_id. Returns
diff --git a/quic/masque/masque_client_session.h b/quic/masque/masque_client_session.h
index 4fc531c..0eab5b2 100644
--- a/quic/masque/masque_client_session.h
+++ b/quic/masque/masque_client_session.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_MASQUE_MASQUE_CLIENT_SESSION_H_
#define QUICHE_QUIC_MASQUE_MASQUE_CLIENT_SESSION_H_
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
#include "quic/core/http/quic_spdy_client_session.h"
#include "quic/masque/masque_compression_engine.h"
@@ -86,9 +87,9 @@
void UnregisterConnectionId(QuicConnectionId client_connection_id);
private:
- QuicHashMap<QuicConnectionId,
- EncapsulatedClientSession*,
- QuicConnectionIdHash>
+ absl::flat_hash_map<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 1cfc6a1..96c5948 100644
--- a/quic/masque/masque_compression_engine.h
+++ b/quic/masque/masque_compression_engine.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_MASQUE_MASQUE_PROTOCOL_H_
#define QUICHE_QUIC_MASQUE_MASQUE_PROTOCOL_H_
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
#include "quic/core/quic_connection_id.h"
#include "quic/core/quic_session.h"
@@ -117,7 +118,7 @@
bool* version_present);
QuicSession* masque_session_; // Unowned.
- QuicHashMap<QuicDatagramFlowId, MasqueCompressionContext> contexts_;
+ absl::flat_hash_map<QuicDatagramFlowId, MasqueCompressionContext> contexts_;
QuicDatagramFlowId next_flow_id_;
};
diff --git a/quic/masque/masque_dispatcher.h b/quic/masque/masque_dispatcher.h
index 59fc068..2e0186c 100644
--- a/quic/masque/masque_dispatcher.h
+++ b/quic/masque/masque_dispatcher.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_MASQUE_MASQUE_DISPATCHER_H_
#define QUICHE_QUIC_MASQUE_MASQUE_DISPATCHER_H_
+#include "absl/container/flat_hash_map.h"
#include "quic/masque/masque_server_backend.h"
#include "quic/masque/masque_server_session.h"
#include "quic/platform/api/quic_export.h"
@@ -53,7 +54,9 @@
MasqueServerBackend* masque_server_backend_; // Unowned.
// Mapping from client connection IDs to server sessions, allows routing
// incoming packets to the right MASQUE connection.
- QuicHashMap<QuicConnectionId, MasqueServerSession*, QuicConnectionIdHash>
+ absl::flat_hash_map<QuicConnectionId,
+ MasqueServerSession*,
+ QuicConnectionIdHash>
client_connection_id_registrations_;
};
diff --git a/quic/masque/masque_server_backend.h b/quic/masque/masque_server_backend.h
index 6fbb623..1809359 100644
--- a/quic/masque/masque_server_backend.h
+++ b/quic/masque/masque_server_backend.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_MASQUE_MASQUE_SERVER_BACKEND_H_
#define QUICHE_QUIC_MASQUE_MASQUE_SERVER_BACKEND_H_
+#include "absl/container/flat_hash_map.h"
#include "quic/platform/api/quic_export.h"
#include "quic/tools/quic_memory_cache_backend.h"
@@ -57,9 +58,9 @@
QuicSimpleServerBackend::RequestHandler* request_handler);
std::string server_authority_;
- QuicHashMap<std::string, std::unique_ptr<QuicBackendResponse>>
+ absl::flat_hash_map<std::string, std::unique_ptr<QuicBackendResponse>>
active_response_map_;
- QuicHashMap<QuicConnectionId, BackendClient*, QuicConnectionIdHash>
+ absl::flat_hash_map<QuicConnectionId, BackendClient*, QuicConnectionIdHash>
backend_clients_;
};
diff --git a/quic/qbone/bonnet/icmp_reachable_test.cc b/quic/qbone/bonnet/icmp_reachable_test.cc
index ae246b7..221e5f6 100644
--- a/quic/qbone/bonnet/icmp_reachable_test.cc
+++ b/quic/qbone/bonnet/icmp_reachable_test.cc
@@ -6,6 +6,7 @@
#include <netinet/ip6.h>
+#include "absl/container/node_hash_map.h"
#include "quic/platform/api/quic_containers.h"
#include "quic/platform/api/quic_epoll.h"
#include "quic/platform/api/quic_ip_address.h"
@@ -73,8 +74,8 @@
std::string current_source_{};
- QuicUnorderedMap<int, int> read_errors_;
- QuicUnorderedMap<int, int> write_errors_;
+ absl::node_hash_map<int, int> read_errors_;
+ absl::node_hash_map<int, int> write_errors_;
};
class IcmpReachableTest : public QuicTest {
diff --git a/quic/test_tools/quic_session_peer.cc b/quic/test_tools/quic_session_peer.cc
index 344b1b1..4a8c8ca 100644
--- a/quic/test_tools/quic_session_peer.cc
+++ b/quic/test_tools/quic_session_peer.cc
@@ -4,6 +4,7 @@
#include "quic/test_tools/quic_session_peer.h"
+#include "absl/container/flat_hash_map.h"
#include "quic/core/quic_session.h"
#include "quic/core/quic_stream.h"
#include "quic/core/quic_utils.h"
@@ -120,7 +121,7 @@
}
// static
-QuicHashMap<QuicStreamId, QuicStreamOffset>&
+absl::flat_hash_map<QuicStreamId, QuicStreamOffset>&
QuicSessionPeer::GetLocallyClosedStreamsHighestOffset(QuicSession* session) {
return session->locally_closed_streams_highest_offset_;
}
diff --git a/quic/test_tools/quic_session_peer.h b/quic/test_tools/quic_session_peer.h
index 66a57a7..94f0bf5 100644
--- a/quic/test_tools/quic_session_peer.h
+++ b/quic/test_tools/quic_session_peer.h
@@ -9,6 +9,7 @@
#include <map>
#include <memory>
+#include "absl/container/flat_hash_map.h"
#include "quic/core/quic_packets.h"
#include "quic/core/quic_session.h"
#include "quic/core/quic_write_blocked_list.h"
@@ -54,7 +55,7 @@
static QuicWriteBlockedList* GetWriteBlockedStreams(QuicSession* session);
static QuicStream* GetOrCreateStream(QuicSession* session,
QuicStreamId stream_id);
- static QuicHashMap<QuicStreamId, QuicStreamOffset>&
+ static absl::flat_hash_map<QuicStreamId, QuicStreamOffset>&
GetLocallyClosedStreamsHighestOffset(QuicSession* session);
static QuicSession::StreamMap& stream_map(QuicSession* session);
static const QuicSession::ClosedStreams& closed_streams(QuicSession* session);
diff --git a/quic/test_tools/quic_test_utils.h b/quic/test_tools/quic_test_utils.h
index 7b4b18f..2863ce8 100644
--- a/quic/test_tools/quic_test_utils.h
+++ b/quic/test_tools/quic_test_utils.h
@@ -13,6 +13,7 @@
#include <utility>
#include <vector>
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "quic/core/congestion_control/loss_detection_interface.h"
@@ -2239,7 +2240,8 @@
// Used to verify writer-allocated packet buffers are properly released.
std::vector<PacketBuffer*> packet_buffer_pool_;
// Buffer address => Address of the owning PacketBuffer.
- QuicHashMap<char*, PacketBuffer*> packet_buffer_pool_index_;
+ absl::flat_hash_map<char*, PacketBuffer*, absl::Hash<char*>>
+ packet_buffer_pool_index_;
// Indices in packet_buffer_pool_ that are not allocated.
std::list<PacketBuffer*> packet_buffer_free_list_;
// The soruce/peer address passed into WritePacket().
diff --git a/quic/test_tools/simple_data_producer.h b/quic/test_tools/simple_data_producer.h
index 0d6182e..82021e1 100644
--- a/quic/test_tools/simple_data_producer.h
+++ b/quic/test_tools/simple_data_producer.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_TEST_TOOLS_SIMPLE_DATA_PRODUCER_H_
#define QUICHE_QUIC_TEST_TOOLS_SIMPLE_DATA_PRODUCER_H_
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
#include "quic/core/quic_simple_buffer_allocator.h"
#include "quic/core/quic_stream_frame_data_producer.h"
@@ -59,12 +60,12 @@
private:
using SendBufferMap =
- QuicHashMap<QuicStreamId, std::unique_ptr<QuicStreamSendBuffer>>;
+ absl::flat_hash_map<QuicStreamId, std::unique_ptr<QuicStreamSendBuffer>>;
using CryptoBufferMap =
- QuicHashMap<std::pair<EncryptionLevel, QuicStreamOffset>,
- absl::string_view,
- PairHash>;
+ absl::flat_hash_map<std::pair<EncryptionLevel, QuicStreamOffset>,
+ absl::string_view,
+ PairHash>;
SimpleBufferAllocator allocator_;
diff --git a/quic/test_tools/simple_session_notifier.h b/quic/test_tools/simple_session_notifier.h
index 5f7d4ae..2219c27 100644
--- a/quic/test_tools/simple_session_notifier.h
+++ b/quic/test_tools/simple_session_notifier.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_TEST_TOOLS_SIMPLE_SESSION_NOTIFIER_H_
#define QUICHE_QUIC_TEST_TOOLS_SIMPLE_SESSION_NOTIFIER_H_
+#include "absl/container/flat_hash_map.h"
#include "quic/core/quic_circular_deque.h"
#include "quic/core/quic_interval_set.h"
#include "quic/core/session_notifier_interface.h"
@@ -106,7 +107,7 @@
friend std::ostream& operator<<(std::ostream& os, const StreamState& s);
- using StreamMap = QuicHashMap<QuicStreamId, StreamState>;
+ using StreamMap = absl::flat_hash_map<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 89e67d7..81b09f1 100644
--- a/quic/test_tools/simulator/quic_endpoint_base.h
+++ b/quic/test_tools/simulator/quic_endpoint_base.h
@@ -7,6 +7,7 @@
#include <memory>
+#include "absl/container/flat_hash_map.h"
#include "quic/core/crypto/null_decrypter.h"
#include "quic/core/crypto/null_encrypter.h"
#include "quic/core/quic_connection.h"
@@ -150,7 +151,7 @@
void Act() override {}
private:
- QuicHashMap<std::string, QuicEndpointBase*> mapping_;
+ absl::flat_hash_map<std::string, QuicEndpointBase*> mapping_;
};
} // namespace simulator
diff --git a/quic/test_tools/simulator/simulator.h b/quic/test_tools/simulator/simulator.h
index cd3c9ba..9b73cc3 100644
--- a/quic/test_tools/simulator/simulator.h
+++ b/quic/test_tools/simulator/simulator.h
@@ -7,6 +7,7 @@
#include <map>
+#include "absl/container/flat_hash_map.h"
#include "quic/core/quic_connection.h"
#include "quic/core/quic_simple_buffer_allocator.h"
#include "quic/platform/api/quic_bug_tracker.h"
@@ -130,7 +131,7 @@
std::multimap<QuicTime, Actor*> schedule_;
// For each actor, maintain the time it is scheduled at. The value for
// unscheduled actors is QuicTime::Infinite().
- QuicHashMap<Actor*, QuicTime> scheduled_times_;
+ absl::flat_hash_map<Actor*, QuicTime> scheduled_times_;
QuicHashSet<std::string> actor_names_;
};
diff --git a/quic/test_tools/simulator/simulator_test.cc b/quic/test_tools/simulator/simulator_test.cc
index c3c05ac..a71649e 100644
--- a/quic/test_tools/simulator/simulator_test.cc
+++ b/quic/test_tools/simulator/simulator_test.cc
@@ -6,6 +6,7 @@
#include <utility>
+#include "absl/container/node_hash_map.h"
#include "quic/platform/api/quic_containers.h"
#include "quic/platform/api/quic_logging.h"
#include "quic/platform/api/quic_test.h"
@@ -102,7 +103,7 @@
QuicByteCount bytes_;
QuicPacketCount packets_;
- QuicUnorderedMap<std::string, QuicPacketCount>
+ absl::node_hash_map<std::string, QuicPacketCount>
per_destination_packet_counter_;
};
diff --git a/quic/test_tools/simulator/switch.h b/quic/test_tools/simulator/switch.h
index f50df6b..bd4e7b6 100644
--- a/quic/test_tools/simulator/switch.h
+++ b/quic/test_tools/simulator/switch.h
@@ -7,6 +7,7 @@
#include <deque>
+#include "absl/container/flat_hash_map.h"
#include "quic/platform/api/quic_containers.h"
#include "quic/test_tools/simulator/queue.h"
@@ -80,7 +81,7 @@
// This can not be a QuicCircularDeque since pointers into this are
// assumed to be stable.
std::deque<Port> ports_;
- QuicHashMap<std::string, Port*> switching_table_;
+ absl::flat_hash_map<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 ea6a5d4..bba2b83 100644
--- a/quic/test_tools/simulator/traffic_policer.h
+++ b/quic/test_tools/simulator/traffic_policer.h
@@ -5,6 +5,7 @@
#ifndef QUICHE_QUIC_TEST_TOOLS_SIMULATOR_TRAFFIC_POLICER_H_
#define QUICHE_QUIC_TEST_TOOLS_SIMULATOR_TRAFFIC_POLICER_H_
+#include "absl/container/flat_hash_map.h"
#include "quic/test_tools/simulator/packet_filter.h"
#include "quic/test_tools/simulator/port.h"
@@ -44,7 +45,7 @@
QuicTime last_refill_time_;
// Maps each destination to the number of tokens it has left.
- QuicHashMap<std::string, QuicByteCount> token_buckets_;
+ absl::flat_hash_map<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 4df670e..5e4b267 100644
--- a/quic/tools/quic_memory_cache_backend.h
+++ b/quic/tools/quic_memory_cache_backend.h
@@ -10,6 +10,7 @@
#include <memory>
#include <vector>
+#include "absl/container/flat_hash_map.h"
#include "absl/strings/string_view.h"
#include "quic/core/http/spdy_utils.h"
#include "quic/platform/api/quic_containers.h"
@@ -168,8 +169,8 @@
QuicBackendResponse::ServerPushInfo resource);
// Cached responses.
- QuicHashMap<std::string, std::unique_ptr<QuicBackendResponse>> responses_
- QUIC_GUARDED_BY(response_mutex_);
+ absl::flat_hash_map<std::string, std::unique_ptr<QuicBackendResponse>>
+ responses_ QUIC_GUARDED_BY(response_mutex_);
// The default response for cache misses, if set.
std::unique_ptr<QuicBackendResponse> default_response_
diff --git a/quic/tools/quic_tcp_like_trace_converter.h b/quic/tools/quic_tcp_like_trace_converter.h
index d5a1456..b90d455 100644
--- a/quic/tools/quic_tcp_like_trace_converter.h
+++ b/quic/tools/quic_tcp_like_trace_converter.h
@@ -7,6 +7,7 @@
#include <vector>
+#include "absl/container/flat_hash_map.h"
#include "quic/core/frames/quic_stream_frame.h"
#include "quic/core/quic_interval.h"
#include "quic/core/quic_interval_set.h"
@@ -73,8 +74,9 @@
StreamInfo* info);
StreamInfo crypto_frames_info_[NUM_ENCRYPTION_LEVELS];
- QuicHashMap<QuicStreamId, StreamInfo> streams_info_;
- QuicHashMap<QuicControlFrameId, QuicInterval<uint64_t>> control_frames_info_;
+ absl::flat_hash_map<QuicStreamId, StreamInfo> streams_info_;
+ absl::flat_hash_map<QuicControlFrameId, QuicInterval<uint64_t>>
+ control_frames_info_;
QuicControlFrameId largest_observed_control_frame_id_;