summaryrefslogtreecommitdiff
path: root/chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2022-02-02 12:21:57 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-02-12 08:13:00 +0000
commit606d85f2a5386472314d39923da28c70c60dc8e7 (patch)
treea8f4d7bf997f349f45605e6058259fba0630e4d7 /chromium/net/third_party/quiche/src/quic/core/quic_connection_id_manager.cc
parent5786336dda477d04fb98483dca1a5426eebde2d7 (diff)
downloadqtwebengine-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.cc41
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)