#64 key keeper增加evdnsbase参数。
避免创建大量dnsbase,耗尽fd。ssl stream/tcp stream/proxy也做了相应修改。
This commit is contained in:
@@ -9,7 +9,12 @@ struct keyring
|
||||
X509 *cert;
|
||||
STACK_OF(X509) * chain;
|
||||
};
|
||||
|
||||
struct key_keeper_stat
|
||||
{
|
||||
long long ask_times;
|
||||
long long cache_hit;
|
||||
long long cached_num;
|
||||
};
|
||||
struct key_keeper;
|
||||
|
||||
struct key_keeper * key_keeper_init(const char * profile, const char* section, void* logger);
|
||||
@@ -20,6 +25,9 @@ struct keyring* key_keeper_release_keyring(future_result_t* result);
|
||||
|
||||
void key_keeper_free_keyring(struct keyring* cert);
|
||||
|
||||
void key_keeper_async_ask(struct future * f, struct key_keeper * keeper, const char* sni, int keyring_id,
|
||||
X509 * origin_cert, int is_cert_valid, struct event_base * evbase);
|
||||
|
||||
void key_keeper_async_ask(struct future * f, struct key_keeper * keeper, const char* sni, int keyring_id,
|
||||
X509 * origin_cert, int is_cert_valid, struct event_base * evbase, struct evdns_base* dnsbase);
|
||||
|
||||
void key_keeper_statistic(struct key_keeper *keeper, struct key_keeper_stat* result);
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ struct tfe_thread_ctx
|
||||
unsigned int load;
|
||||
|
||||
struct event_base * evbase;
|
||||
struct evdns_base* dnsbase;
|
||||
unsigned char running;
|
||||
|
||||
unsigned int nr_modules;
|
||||
|
||||
@@ -15,12 +15,12 @@ void ssl_manager_destroy(struct ssl_mgr * mgr);
|
||||
struct ssl_stream * ssl_upstream_create_result_release_stream(future_result_t * result);
|
||||
struct bufferevent * ssl_upstream_create_result_release_bev(future_result_t * result);
|
||||
void ssl_async_upstream_create(struct future * f, struct ssl_mgr * mgr, evutil_socket_t fd_upstream,
|
||||
evutil_socket_t fd_downstream, struct event_base * evbase);
|
||||
evutil_socket_t fd_downstream, unsigned int thread_id);
|
||||
|
||||
struct ssl_stream * ssl_downstream_create_result_release_stream(future_result_t * result);
|
||||
struct bufferevent * ssl_downstream_create_result_release_bev(future_result_t * result);
|
||||
void ssl_async_downstream_create(struct future * f, struct ssl_mgr * mgr, struct ssl_stream * upstream,
|
||||
evutil_socket_t fd_downstream, int keyring_id, struct event_base * evbase);
|
||||
void ssl_async_downstream_create(struct future * f, struct ssl_mgr * mgr, struct ssl_stream * upstream,
|
||||
evutil_socket_t fd_downstream, int keyring_id, unsigned int thread_id);
|
||||
void ssl_stream_free_and_close_fd(struct ssl_stream * stream, struct event_base * evbase, evutil_socket_t fd);
|
||||
void ssl_stream_log_error(struct bufferevent * bev, enum tfe_conn_dir dir, void* logger);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user