26 lines
1.0 KiB
C
26 lines
1.0 KiB
C
#pragma once
|
|
|
|
#include <sys/socket.h>
|
|
#include <openssl/ssl.h>
|
|
#include <tfe_stream.h>
|
|
|
|
struct sess_cache_stat
|
|
{
|
|
long long size;
|
|
long long query_cnt;
|
|
long long hit_cnt;
|
|
long long miss_cnt;
|
|
long long del_err;
|
|
};
|
|
|
|
struct sess_cache;
|
|
struct sess_cache * ssl_sess_cache_create(unsigned int slot_size, unsigned int expire_seconds, enum tfe_conn_dir served);
|
|
void ssl_sess_cache_destroy(struct sess_cache * cache);
|
|
|
|
void up_session_set(struct sess_cache * cache, struct sockaddr * addr, socklen_t addr_len, const char * sni, int version, SSL_SESSION * sess);
|
|
SSL_SESSION * up_session_get(struct sess_cache * cache, struct sockaddr * addr, socklen_t addr_len, const char * sni, int min_ver, int max_ver);
|
|
|
|
void down_session_set(struct sess_cache * cache, const SSL_SESSION * sess);
|
|
void down_session_del(struct sess_cache * cache, const SSL_SESSION * sess);
|
|
SSL_SESSION * down_session_get(struct sess_cache * cache, const unsigned char * id, int idlen);
|
|
void ssl_sess_cache_stat(struct sess_cache *cache, struct sess_cache_stat *stat); |