Index: net/ssl/ssl_client_session_cache_openssl.cc |
diff --git a/net/ssl/ssl_client_session_cache_openssl.cc b/net/ssl/ssl_client_session_cache_openssl.cc |
deleted file mode 100644 |
index d4812694c1b5ca0c5993c1099fc884b1cafb550d..0000000000000000000000000000000000000000 |
--- a/net/ssl/ssl_client_session_cache_openssl.cc |
+++ /dev/null |
@@ -1,99 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "net/ssl/ssl_client_session_cache_openssl.h" |
- |
-#include <utility> |
- |
-#include "base/time/clock.h" |
-#include "base/time/default_clock.h" |
- |
-namespace net { |
- |
-SSLClientSessionCacheOpenSSL::SSLClientSessionCacheOpenSSL(const Config& config) |
- : clock_(new base::DefaultClock), |
- config_(config), |
- cache_(config.max_entries), |
- lookups_since_flush_(0) { |
-} |
- |
-SSLClientSessionCacheOpenSSL::~SSLClientSessionCacheOpenSSL() { |
- Flush(); |
-} |
- |
-size_t SSLClientSessionCacheOpenSSL::size() const { |
- return cache_.size(); |
-} |
- |
-ScopedSSL_SESSION SSLClientSessionCacheOpenSSL::Lookup( |
- const std::string& cache_key) { |
- base::AutoLock lock(lock_); |
- |
- // Expire stale sessions. |
- lookups_since_flush_++; |
- if (lookups_since_flush_ >= config_.expiration_check_count) { |
- lookups_since_flush_ = 0; |
- FlushExpiredSessions(); |
- } |
- |
- CacheEntryMap::iterator iter = cache_.Get(cache_key); |
- if (iter == cache_.end()) |
- return nullptr; |
- if (IsExpired(iter->second.get(), clock_->Now())) { |
- cache_.Erase(iter); |
- return nullptr; |
- } |
- return ScopedSSL_SESSION(SSL_SESSION_up_ref(iter->second->session.get())); |
-} |
- |
-void SSLClientSessionCacheOpenSSL::Insert(const std::string& cache_key, |
- SSL_SESSION* session) { |
- base::AutoLock lock(lock_); |
- |
- // Make a new entry. |
- std::unique_ptr<CacheEntry> entry(new CacheEntry); |
- entry->session.reset(SSL_SESSION_up_ref(session)); |
- entry->creation_time = clock_->Now(); |
- |
- // Takes ownership. |
- cache_.Put(cache_key, std::move(entry)); |
-} |
- |
-void SSLClientSessionCacheOpenSSL::Flush() { |
- base::AutoLock lock(lock_); |
- |
- cache_.Clear(); |
-} |
- |
-void SSLClientSessionCacheOpenSSL::SetClockForTesting( |
- std::unique_ptr<base::Clock> clock) { |
- clock_ = std::move(clock); |
-} |
- |
-SSLClientSessionCacheOpenSSL::CacheEntry::CacheEntry() { |
-} |
- |
-SSLClientSessionCacheOpenSSL::CacheEntry::~CacheEntry() { |
-} |
- |
-bool SSLClientSessionCacheOpenSSL::IsExpired( |
- SSLClientSessionCacheOpenSSL::CacheEntry* entry, |
- const base::Time& now) { |
- return now < entry->creation_time || |
- entry->creation_time + config_.timeout < now; |
-} |
- |
-void SSLClientSessionCacheOpenSSL::FlushExpiredSessions() { |
- base::Time now = clock_->Now(); |
- CacheEntryMap::iterator iter = cache_.begin(); |
- while (iter != cache_.end()) { |
- if (IsExpired(iter->second.get(), now)) { |
- iter = cache_.Erase(iter); |
- } else { |
- ++iter; |
- } |
- } |
-} |
- |
-} // namespace net |