| Index: net/quic/quic_session.h
|
| diff --git a/net/quic/quic_session.h b/net/quic/quic_session.h
|
| index 46c22d3c3438b9003a2f5ea5ef2c5530351e3a14..16f96c77ae81f5fc59ad393e9c94f0b020925893 100644
|
| --- a/net/quic/quic_session.h
|
| +++ b/net/quic/quic_session.h
|
| @@ -17,6 +17,7 @@
|
| #include <vector>
|
|
|
| #include "base/compiler_specific.h"
|
| +#include "base/containers/small_map.h"
|
| #include "base/macros.h"
|
| #include "base/strings/string_piece.h"
|
| #include "net/base/ip_endpoint.h"
|
| @@ -227,7 +228,11 @@ class NET_EXPORT_PRIVATE QuicSession : public QuicConnectionVisitorInterface {
|
| bool ShouldYield(QuicStreamId stream_id);
|
|
|
| protected:
|
| - typedef std::unordered_map<QuicStreamId, ReliableQuicStream*> StreamMap;
|
| + using StaticStreamMap =
|
| + base::SmallMap<std::unordered_map<QuicStreamId, ReliableQuicStream*>, 2>;
|
| +
|
| + using DynamicStreamMap =
|
| + base::SmallMap<std::unordered_map<QuicStreamId, ReliableQuicStream*>, 10>;
|
|
|
| // Creates a new stream to handle a peer-initiated stream.
|
| // Caller does not own the returned stream.
|
| @@ -273,11 +278,13 @@ class NET_EXPORT_PRIVATE QuicSession : public QuicConnectionVisitorInterface {
|
| // Return true if given stream is peer initiated.
|
| bool IsIncomingStream(QuicStreamId id) const;
|
|
|
| - StreamMap& static_streams() { return static_stream_map_; }
|
| - const StreamMap& static_streams() const { return static_stream_map_; }
|
| + StaticStreamMap& static_streams() { return static_stream_map_; }
|
| + const StaticStreamMap& static_streams() const { return static_stream_map_; }
|
|
|
| - StreamMap& dynamic_streams() { return dynamic_stream_map_; }
|
| - const StreamMap& dynamic_streams() const { return dynamic_stream_map_; }
|
| + DynamicStreamMap& dynamic_streams() { return dynamic_stream_map_; }
|
| + const DynamicStreamMap& dynamic_streams() const {
|
| + return dynamic_stream_map_;
|
| + }
|
|
|
| std::vector<ReliableQuicStream*>* closed_streams() {
|
| return &closed_streams_;
|
| @@ -367,10 +374,10 @@ class NET_EXPORT_PRIVATE QuicSession : public QuicConnectionVisitorInterface {
|
|
|
| // Static streams, such as crypto and header streams. Owned by child classes
|
| // that create these streams.
|
| - StreamMap static_stream_map_;
|
| + StaticStreamMap static_stream_map_;
|
|
|
| // Map from StreamId to pointers to streams. Owns the streams.
|
| - StreamMap dynamic_stream_map_;
|
| + DynamicStreamMap dynamic_stream_map_;
|
|
|
| // The ID to use for the next outgoing stream.
|
| QuicStreamId next_outgoing_stream_id_;
|
|
|