#include "content/browser/webtransport/web_transport_throttle_context.h"
#include "base/check.h"
#include "base/check_op.h"
#include "base/command_line.h"
#include "base/functional/callback.h"
#include "base/logging.h"
#include "base/rand_util.h"
#include "components/network_session_configurator/common/network_switches.h"
namespace content {
namespace {
bool ShouldQueueHandshakeFailurePenalty() { … }
}
WebTransportThrottleContext::PenaltyManager::PenaltyManager(
WebTransportThrottleContext* throttle_context)
: … { … }
WebTransportThrottleContext::PenaltyManager::~PenaltyManager() = default;
void WebTransportThrottleContext::PenaltyManager::QueuePending(
base::TimeDelta after) { … }
void WebTransportThrottleContext::PenaltyManager::MaybeDecrementPending() { … }
void WebTransportThrottleContext::PenaltyManager::ProcessPendingQueue() { … }
void WebTransportThrottleContext::PenaltyManager::StopPendingQueueTimer() { … }
void WebTransportThrottleContext::PenaltyManager::StartPendingQueueTimer(
base::TimeDelta after) { … }
WebTransportThrottleContext::Tracker::Tracker(
base::WeakPtr<WebTransportThrottleContext> throttle_context)
: … { … }
WebTransportThrottleContext::Tracker::~Tracker() { … }
void WebTransportThrottleContext::Tracker::OnHandshakeEstablished() { … }
void WebTransportThrottleContext::Tracker::OnHandshakeFailed() { … }
WebTransportThrottleContext::WebTransportThrottleContext()
: … { … }
WebTransportThrottleContext::~WebTransportThrottleContext() = default;
WebTransportThrottleContext::ThrottleResult
WebTransportThrottleContext::PerformThrottle(
ThrottleDoneCallback on_throttle_done) { … }
void WebTransportThrottleContext::MaybeQueueHandshakeFailurePenalty() { … }
base::WeakPtr<WebTransportThrottleContext>
WebTransportThrottleContext::GetWeakPtr() { … }
void WebTransportThrottleContext::OnPendingQueueReady() { … }
void WebTransportThrottleContext::ScheduleThrottledConnection() { … }
void WebTransportThrottleContext::DoOnThrottleDone() { … }
void WebTransportThrottleContext::StartOneConnection() { … }
}