52 const std::chrono::milliseconds& latency,
56 std::chrono::milliseconds
getLatency()
const {
return latency_; }
75 std::lock_guard<std::mutex>
g(sIndexLock_);
77 *pindex = SSL_CTX_get_ex_new_index(0,
nullptr,
nullptr,
nullptr,
nullptr);
82 std::lock_guard<std::mutex>
g(sIndexLock_);
84 *pindex = RSA_get_ex_new_index(0,
nullptr,
nullptr,
nullptr,
nullptr);
91 #if FOLLY_OPENSSL_IS_110 || defined(OPENSSL_IS_BORINGSSL) 97 #ifdef OPENSSL_IS_BORINGSSL 116 void**
dataPtr =
reinterpret_cast<void**
>(
ptr);
139 std::lock_guard<std::mutex>
g(sIndexLock_);
141 *pindex = SSL_SESSION_get_ex_new_index(
146 exDataStdStringFree);
152 folly::hexlify<std::string, std::string>(binary, hex);
159 folly::hexlify<std::string, std::string>(binary, hex);
175 static std::unique_ptr<std::string> getCommonName(
const X509* cert);
183 static std::unique_ptr<std::list<std::string>> getSubjectAltName(
std::unique_ptr< X509, X509Deleter > X509UniquePtr
static void getSSLSessionExStrIndex(int *pindex)
static void exDataStdStringFree(void *, void *ptr, CRYPTO_EX_DATA *, int, long, void *)
static void getSSLCtxExIndex(int *pindex)
—— Concurrent Priority Queue Implementation ——
static int exDataStdStringDup(CRYPTO_EX_DATA *, ex_data_dup_from_arg_t, ex_data_dup_ptr_arg_t ptr, int, long, void *)
requires And< SemiMovable< VN >... > &&SemiMovable< E > auto error(E e)
static const std::string & hexlify(const std::string &binary, std::string &hex)
CRYPTO_EX_DATA * ex_data_dup_from_arg_t
std::chrono::milliseconds getLatency() const
void * ex_data_dup_ptr_arg_t
SSLErrorEnum getError() const
static void getRSAExIndex(int *pindex)
static std::string hexlify(const std::string &binary)
Container::value_type * dataPtr(Container &cont)
static std::mutex sIndexLock_
uint64_t getBytesRead() const
std::chrono::milliseconds latency_