39 void do_cache_mutex_init(
void) {
48 : tls_session_key_log_file_path_(
std::
move(tls_session_key_log_file_path)),
56 "Ignoring TLS Key logging. ERROR Opening TLS Keylog "
67 if (fd_ !=
nullptr)
fclose(fd_);
71 auto it = cache_->tls_session_key_logger_map_.find(
72 tls_session_key_log_file_path_);
73 if (
it != cache_->tls_session_key_logger_map_.end() &&
it->second ==
this) {
74 cache_->tls_session_key_logger_map_.erase(
it);
82 if (fd_ ==
nullptr || session_keys_info.empty())
return;
85 fwrite((session_keys_info +
"\r\n").
c_str(),
sizeof(
char),
86 session_keys_info.length() + 1, fd_) < session_keys_info.length();
101 g_cache_instance =
this;
106 g_cache_instance =
nullptr;
113 if (tls_session_key_log_file_path.empty()) {
119 if (g_cache_instance ==
nullptr) {
121 cache = grpc_core::MakeRefCounted<TlsSessionKeyLoggerCache>();
123 cache = g_cache_instance->Ref();
127 cache->tls_session_key_logger_map_.find(tls_session_key_log_file_path);
128 if (
it != cache->tls_session_key_logger_map_.end()) {
131 auto key_logger =
it->second->RefIfNonZero();
132 if (key_logger !=
nullptr)
return key_logger;
136 return grpc_core::MakeRefCounted<TlsSessionKeyLogger>(