24#ifndef SSL_ACCEPTOR_CONTEXT_OPERATOR
25#define SSL_ACCEPTOR_CONTEXT_OPERATOR
117 operator SSL_CTX *() {
app_data_ptr new_data(u_int n, char *val, cons_type consensus)
TLS context access wrapper for ease of use.
Definition: ssl_acceptor_context_operator.h:102
Ssl_acceptor_context_data_lock::ReadLock read_lock_
Read lock over TLS context.
Definition: ssl_acceptor_context_operator.h:165
Lock_and_access_ssl_acceptor_context(Ssl_acceptor_context_container *context)
Definition: ssl_acceptor_context_operator.h:104
bool have_ssl()
TLS context validity.
Definition: ssl_acceptor_context_operator.cc:125
~Lock_and_access_ssl_acceptor_context()=default
std::string show_property(Ssl_acceptor_context_property_type property_type)
Fetch given property from underlying TLS context.
Definition: ssl_acceptor_context_operator.cc:114
std::string channel_name()
Fetch channel name.
Definition: ssl_acceptor_context_operator.cc:120
High level read API for readers.
Definition: my_rcu_lock.h:113
A class that implements a limited version of the Read-Copy-Update lock pattern.
Definition: my_rcu_lock.h:80
TLS context access protector.
Definition: ssl_acceptor_context_operator.h:41
void switch_data(Ssl_acceptor_context_data *new_data)
Definition: ssl_acceptor_context_operator.cc:46
Ssl_acceptor_context_data_lock * lock_
Definition: ssl_acceptor_context_operator.h:49
~Ssl_acceptor_context_container()
Definition: ssl_acceptor_context_operator.cc:41
Ssl_acceptor_context_container(Ssl_acceptor_context_data *data)
Definition: ssl_acceptor_context_operator.cc:35
Container of SSL Acceptor context data.
Definition: ssl_acceptor_context_data.h:104
SSL * acceptor_
An SSL for ssl_acceptor_fd_ to allow access to parameters not in SSL_CTX to be available even if the ...
Definition: ssl_acceptor_context_data.h:198
struct st_VioSSLFd * ssl_acceptor_fd_
SSL_CTX barerer.
Definition: ssl_acceptor_context_data.h:191
Definition: ssl_init_callback.h:70
TLS context manager.
Definition: ssl_acceptor_context_operator.h:60
static void singleton_deinit(Ssl_acceptor_context_container *container)
De-initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:94
static void singleton_flush(Ssl_acceptor_context_container *container, std::string channel, Ssl_init_callback *callbacks, enum enum_ssl_init_error *error, bool force)
Re-initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:99
static bool singleton_init(Ssl_acceptor_context_container **out, std::string channel, Ssl_init_callback *callbacks, bool db_init)
Initialize the single instance of the acceptor.
Definition: ssl_acceptor_context_operator.cc:51
Definition: atomics_array.h:39
Ssl_acceptor_context_property_type
Properties exposed by Ssl Acceptor context.
Definition: ssl_acceptor_context_data.h:44
bool have_ssl()
Definition: ssl_acceptor_context_operator.cc:130
Ssl_acceptor_context_type
Ssl_acceptor_context_data.
Definition: ssl_acceptor_context_operator.h:31
Ssl_acceptor_context_container * mysql_main
Definition: ssl_acceptor_context_operator.cc:32
Ssl_acceptor_context_container * mysql_admin
Definition: ssl_acceptor_context_operator.cc:33
Definition: violite.h:256
SSL_CTX * ssl_context
Definition: violite.h:257
enum_ssl_init_error
Definition: violite.h:236