diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-02 12:21:57 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-12 08:13:00 +0000 |
commit | 606d85f2a5386472314d39923da28c70c60dc8e7 (patch) | |
tree | a8f4d7bf997f349f45605e6058259fba0630e4d7 /chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc | |
parent | 5786336dda477d04fb98483dca1a5426eebde2d7 (diff) | |
download | qtwebengine-chromium-606d85f2a5386472314d39923da28c70c60dc8e7.tar.gz |
BASELINE: Update Chromium to 96.0.4664.181
Change-Id: I762cd1da89d73aa6313b4a753fe126c34833f046
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc')
-rw-r--r-- | chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc b/chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc index f7089b7ebfd..1138a2ed5d4 100644 --- a/chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc +++ b/chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc @@ -3,12 +3,14 @@ // found in the LICENSE file. #include "quic/core/quic_connection_id_manager.h" + #include <cstdio> #include "quic/core/quic_clock.h" #include "quic/core/quic_connection_id.h" #include "quic/core/quic_error_codes.h" #include "quic/core/quic_utils.h" +#include "common/platform/api/quiche_logging.h" namespace quic { @@ -22,11 +24,13 @@ QuicConnectionIdData::QuicConnectionIdData( namespace { -class RetirePeerIssuedConnectionIdAlarm : public QuicAlarm::Delegate { +class RetirePeerIssuedConnectionIdAlarm + : public QuicAlarm::DelegateWithContext { public: explicit RetirePeerIssuedConnectionIdAlarm( - QuicConnectionIdManagerVisitorInterface* visitor) - : visitor_(visitor) {} + QuicConnectionIdManagerVisitorInterface* visitor, + QuicConnectionContext* context) + : QuicAlarm::DelegateWithContext(context), visitor_(visitor) {} RetirePeerIssuedConnectionIdAlarm(const RetirePeerIssuedConnectionIdAlarm&) = delete; RetirePeerIssuedConnectionIdAlarm& operator=( @@ -61,13 +65,13 @@ std::vector<QuicConnectionIdData>::iterator FindConnectionIdData( QuicPeerIssuedConnectionIdManager::QuicPeerIssuedConnectionIdManager( size_t active_connection_id_limit, const QuicConnectionId& initial_peer_issued_connection_id, - const QuicClock* clock, - QuicAlarmFactory* alarm_factory, - QuicConnectionIdManagerVisitorInterface* visitor) + const QuicClock* clock, QuicAlarmFactory* alarm_factory, + QuicConnectionIdManagerVisitorInterface* visitor, + QuicConnectionContext* context) : active_connection_id_limit_(active_connection_id_limit), clock_(clock), retire_connection_id_alarm_(alarm_factory->CreateAlarm( - new RetirePeerIssuedConnectionIdAlarm(visitor))) { + new RetirePeerIssuedConnectionIdAlarm(visitor, context))) { QUICHE_DCHECK_GE(active_connection_id_limit_, 2u); QUICHE_DCHECK(!initial_peer_issued_connection_id.IsEmpty()); active_connection_id_data_.emplace_back<const QuicConnectionId&, uint64_t, @@ -249,11 +253,14 @@ void QuicPeerIssuedConnectionIdManager::ReplaceConnectionId( namespace { -class RetireSelfIssuedConnectionIdAlarmDelegate : public QuicAlarm::Delegate { +class RetireSelfIssuedConnectionIdAlarmDelegate + : public QuicAlarm::DelegateWithContext { public: explicit RetireSelfIssuedConnectionIdAlarmDelegate( - QuicSelfIssuedConnectionIdManager* connection_id_manager) - : connection_id_manager_(connection_id_manager) {} + QuicSelfIssuedConnectionIdManager* connection_id_manager, + QuicConnectionContext* context) + : QuicAlarm::DelegateWithContext(context), + connection_id_manager_(connection_id_manager) {} RetireSelfIssuedConnectionIdAlarmDelegate( const RetireSelfIssuedConnectionIdAlarmDelegate&) = delete; RetireSelfIssuedConnectionIdAlarmDelegate& operator=( @@ -269,15 +276,15 @@ class RetireSelfIssuedConnectionIdAlarmDelegate : public QuicAlarm::Delegate { QuicSelfIssuedConnectionIdManager::QuicSelfIssuedConnectionIdManager( size_t active_connection_id_limit, - const QuicConnectionId& initial_connection_id, - const QuicClock* clock, + const QuicConnectionId& initial_connection_id, const QuicClock* clock, QuicAlarmFactory* alarm_factory, - QuicConnectionIdManagerVisitorInterface* visitor) + QuicConnectionIdManagerVisitorInterface* visitor, + QuicConnectionContext* context) : active_connection_id_limit_(active_connection_id_limit), clock_(clock), visitor_(visitor), retire_connection_id_alarm_(alarm_factory->CreateAlarm( - new RetireSelfIssuedConnectionIdAlarmDelegate(this))), + new RetireSelfIssuedConnectionIdAlarmDelegate(this, context))), last_connection_id_(initial_connection_id), next_connection_id_sequence_number_(1u), last_connection_id_consumed_by_self_sequence_number_(0u) { @@ -372,6 +379,12 @@ QuicSelfIssuedConnectionIdManager::GetUnretiredConnectionIds() const { return unretired_ids; } +QuicConnectionId QuicSelfIssuedConnectionIdManager::GetOneActiveConnectionId() + const { + QUICHE_DCHECK(!active_connection_ids_.empty()); + return active_connection_ids_.front().first; +} + void QuicSelfIssuedConnectionIdManager::RetireConnectionId() { if (to_be_retired_connection_ids_.empty()) { QUIC_BUG(quic_bug_12420_1) |