43 std::lock_guard<std::mutex>
g(
lock);
55 SSL_SESSION* session);
68 SSL_SESSION* lookupSession(
const std::string& sessionId);
70 void storeSession(
const std::string& sessionId, SSL_SESSION* session,
79 std::vector< std::unique_ptr<LocalSSLSessionCache> >
caches_;
84 std::unique_ptr<folly::DelayedDestruction::DestructorGuard>>
99 request_in_progress =
true;
150 const std::shared_ptr<SSLCacheProvider>& externalCache);
175 std::unique_ptr<folly::IOBuf> valueBuf);
196 int newSession(SSL* ssl, SSL_SESSION* session);
203 void removeSession(SSL_CTX* ctx, SSL_SESSION* session);
210 SSL_SESSION* getSession(SSL* ssl,
unsigned char* session_id,
211 int id_len,
int* copyflag);
226 bool storeCacheRecord(
const std::string& sessionId, SSL_SESSION* session);
231 bool lookupCacheRecord(
const std::string& sessionId,
232 folly::AsyncSSLSocket* sslSock);
242 static std::shared_ptr<ShardedLocalSSLSessionCache> getLocalCache(
249 static int newSessionCallback(SSL* ssl, SSL_SESSION* session);
250 static void removeSessionCallback(SSL_CTX* ctx, SSL_SESSION* session);
252 #if FOLLY_OPENSSL_IS_110 258 static SSL_SESSION* getSessionCallback(
265 static std::shared_ptr<ShardedLocalSSLSessionCache>
sCache_;
std::pair< folly::AsyncSSLSocket *, std::unique_ptr< folly::DelayedDestruction::DestructorGuard > > AttachedLookup
std::map< std::string, PendingLookup > PendingLookupMap
static int32_t sExDataIndex_
std::vector< std::unique_ptr< LocalSSLSessionCache > > caches_
void pruneSessionCallback(const std::string &sessionId, SSL_SESSION *session)
uint32_t removedSessions_
std::list< AttachedLookup > waiters
unsigned char * session_callback_arg_session_id_t
LocalSSLSessionCache(uint32_t maxCacheSize, uint32_t cacheCullSize)
static std::shared_ptr< ShardedLocalSSLSessionCache > sCache_
PendingLookupMap pendingLookups_
static std::mutex sCacheLock_
static const char *const value
folly::EvictingCacheMap< std::string, SSL_SESSION * > SSLSessionCacheMap
std::shared_ptr< ShardedLocalSSLSessionCache > localCache_
std::shared_ptr< SSLCacheProvider > externalCache_
void clear(PruneHookCall pruneHook=nullptr)
SSLSessionCacheMap sessionCache
static constexpr uint64_t data[1]
size_t hash(const std::string &key)