proxygen
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
SSLCacheProvider.h
Go to the documentation of this file.
1
/*
2
* Copyright 2017-present Facebook, Inc.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#pragma once
17
18
#include <
folly/futures/Future.h
>
19
#include <
folly/io/async/AsyncSSLSocket.h
>
20
21
namespace
wangle
{
22
23
class
SSLSessionCacheManager;
24
28
class
SSLCacheProvider
{
29
public
:
34
struct
CacheContext
{
35
std::string
sessionId
;
36
SSL_SESSION*
session
;
37
SSLSessionCacheManager
*
manager
;
38
folly::AsyncSSLSocket
*
sslSocket
;
39
std::unique_ptr<folly::DelayedDestruction::DestructorGuard>
guard
;
40
};
41
42
virtual
~SSLCacheProvider
() =
default
;
43
55
virtual
bool
setAsync
(
const
std::string
&
sessionId
,
56
const
std::string
&
value
,
57
std::chrono::seconds
expiration
) = 0;
58
70
virtual
bool
getAsync
(
const
std::string
&
sessionId
,
71
CacheContext
*
context
) = 0;
72
79
virtual
folly::Future<folly::ssl::SSLSessionUniquePtr>
getFuture
(
80
const
std::string
&
sessionId
) = 0;
81
};
82
83
}
// namespace wangle
folly::AsyncSSLSocket
Definition:
AsyncSSLSocket.h:70
wangle::SSLCacheProvider::getAsync
virtual bool getAsync(const std::string &sessionId, CacheContext *context)=0
wangle::SSLCacheProvider::CacheContext::sslSocket
folly::AsyncSSLSocket * sslSocket
Definition:
SSLCacheProvider.h:38
context
context
Definition:
CMakeCache.txt:563
wangle::SSLCacheProvider::getFuture
virtual folly::Future< folly::ssl::SSLSessionUniquePtr > getFuture(const std::string &sessionId)=0
wangle::SSLCacheProvider
Definition:
SSLCacheProvider.h:28
wangle::SSLCacheProvider::CacheContext::session
SSL_SESSION * session
Definition:
SSLCacheProvider.h:36
wangle::SSLCacheProvider::CacheContext
Definition:
SSLCacheProvider.h:34
expiration
static void expiration()
Definition:
ThreadPoolExecutorTest.cpp:266
wangle
Definition:
Acceptor.cpp:49
Future.h
AsyncSSLSocket.h
wangle::SSLCacheProvider::CacheContext::sessionId
std::string sessionId
Definition:
SSLCacheProvider.h:35
wangle::SSLSessionCacheManager
Definition:
SSLSessionCacheManager.h:136
wangle::SSLCacheProvider::CacheContext::guard
std::unique_ptr< folly::DelayedDestruction::DestructorGuard > guard
Definition:
SSLCacheProvider.h:39
value
static const char *const value
Definition:
Conv.cpp:50
folly::Future
Definition:
FiberManagerInternal.h:46
wangle::SSLCacheProvider::setAsync
virtual bool setAsync(const std::string &sessionId, const std::string &value, std::chrono::seconds expiration)=0
string
const char * string
Definition:
Conv.cpp:212
wangle::SSLCacheProvider::~SSLCacheProvider
virtual ~SSLCacheProvider()=default
wangle::SSLCacheProvider::CacheContext::manager
SSLSessionCacheManager * manager
Definition:
SSLCacheProvider.h:37
proxygen
wangle
wangle
ssl
SSLCacheProvider.h
Generated by
1.8.11