#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "net/ssl/ssl_client_session_cache.h"
#include <tuple>
#include <utility>
#include "base/containers/flat_set.h"
#include "base/time/clock.h"
#include "base/time/default_clock.h"
#include "third_party/boringssl/src/include/openssl/ssl.h"
namespace net {
namespace {
auto TieKeyFields(const SSLClientSessionCache::Key& key) { … }
}
SSLClientSessionCache::Key::Key() = default;
SSLClientSessionCache::Key::Key(const Key& other) = default;
SSLClientSessionCache::Key::Key(Key&& other) = default;
SSLClientSessionCache::Key::~Key() = default;
SSLClientSessionCache::Key& SSLClientSessionCache::Key::operator=(
const Key& other) = default;
SSLClientSessionCache::Key& SSLClientSessionCache::Key::operator=(Key&& other) =
default;
bool SSLClientSessionCache::Key::operator==(const Key& other) const { … }
bool SSLClientSessionCache::Key::operator<(const Key& other) const { … }
SSLClientSessionCache::SSLClientSessionCache(const Config& config)
: … { … }
SSLClientSessionCache::~SSLClientSessionCache() { … }
size_t SSLClientSessionCache::size() const { … }
bssl::UniquePtr<SSL_SESSION> SSLClientSessionCache::Lookup(
const Key& cache_key) { … }
void SSLClientSessionCache::Insert(const Key& cache_key,
bssl::UniquePtr<SSL_SESSION> session) { … }
void SSLClientSessionCache::ClearEarlyData(const Key& cache_key) { … }
void SSLClientSessionCache::FlushForServers(
const base::flat_set<HostPortPair>& servers) { … }
void SSLClientSessionCache::Flush() { … }
void SSLClientSessionCache::SetClockForTesting(base::Clock* clock) { … }
bool SSLClientSessionCache::IsExpired(SSL_SESSION* session, time_t now) { … }
SSLClientSessionCache::Entry::Entry() = default;
SSLClientSessionCache::Entry::Entry(Entry&&) = default;
SSLClientSessionCache::Entry::~Entry() = default;
void SSLClientSessionCache::Entry::Push(bssl::UniquePtr<SSL_SESSION> session) { … }
bssl::UniquePtr<SSL_SESSION> SSLClientSessionCache::Entry::Pop() { … }
bool SSLClientSessionCache::Entry::ExpireSessions(time_t now) { … }
void SSLClientSessionCache::FlushExpiredSessions() { … }
void SSLClientSessionCache::OnMemoryPressure(
base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level) { … }
}