#include "net/socket/websocket_endpoint_lock_manager.h"
#include <memory>
#include <utility>
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/task/single_thread_task_runner.h"
#include "net/base/net_errors.h"
namespace net {
namespace {
const int kUnlockDelayInMs = …;
}
WebSocketEndpointLockManager::Waiter::~Waiter() { … }
WebSocketEndpointLockManager::LockReleaser::LockReleaser(
WebSocketEndpointLockManager* websocket_endpoint_lock_manager,
IPEndPoint endpoint)
: … { … }
WebSocketEndpointLockManager::LockReleaser::~LockReleaser() { … }
WebSocketEndpointLockManager::WebSocketEndpointLockManager()
: … { … }
WebSocketEndpointLockManager::~WebSocketEndpointLockManager() { … }
int WebSocketEndpointLockManager::LockEndpoint(const IPEndPoint& endpoint,
Waiter* waiter) { … }
void WebSocketEndpointLockManager::UnlockEndpoint(const IPEndPoint& endpoint) { … }
bool WebSocketEndpointLockManager::IsEmpty() const { … }
base::TimeDelta WebSocketEndpointLockManager::SetUnlockDelayForTesting(
base::TimeDelta new_delay) { … }
WebSocketEndpointLockManager::LockInfo::LockInfo() : … { … }
WebSocketEndpointLockManager::LockInfo::~LockInfo() { … }
WebSocketEndpointLockManager::LockInfo::LockInfo(const LockInfo& rhs)
: … { … }
void WebSocketEndpointLockManager::RegisterLockReleaser(
LockReleaser* lock_releaser,
IPEndPoint endpoint) { … }
void WebSocketEndpointLockManager::UnlockEndpointAfterDelay(
const IPEndPoint& endpoint) { … }
void WebSocketEndpointLockManager::DelayedUnlockEndpoint(
const IPEndPoint& endpoint) { … }
}