summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_openssl.h
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-01-11 17:39:02 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-01-11 17:39:02 +0000
commitb3179450894c9bd9d84bbad9104e12c7c103eb37 (patch)
tree31f197482a3f63d27687770fe8d1ce493857ba71 /src/event/ngx_event_openssl.h
parente532b0194c764d3e543bcd8d70791ca9a55a7483 (diff)
downloadnginx-b3179450894c9bd9d84bbad9104e12c7c103eb37.tar.gz
nginx-b3179450894c9bd9d84bbad9104e12c7c103eb37.tar.bz2
optimize the SSL session cache allocations
Diffstat (limited to '')
-rw-r--r--src/event/ngx_event_openssl.h24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/event/ngx_event_openssl.h b/src/event/ngx_event_openssl.h
index 078b2bab0..04cf3ad72 100644
--- a/src/event/ngx_event_openssl.h
+++ b/src/event/ngx_event_openssl.h
@@ -55,33 +55,25 @@ typedef struct {
#define NGX_SSL_NO_BUILTIN_SCACHE -3
-typedef struct ngx_ssl_cached_sess_s ngx_ssl_cached_sess_t;
+#define NGX_SSL_MAX_SESSION_SIZE (4096)
+typedef struct ngx_ssl_sess_id_s ngx_ssl_sess_id_t;
-#define NGX_SSL_MAX_SESSION_SIZE (4096 - offsetof(ngx_ssl_cached_sess_t, asn1))
-
-
-typedef struct {
+struct ngx_ssl_sess_id_s {
ngx_rbtree_node_t node;
u_char *id;
size_t len;
- ngx_ssl_cached_sess_t *session;
-} ngx_ssl_sess_id_t;
-
-
-struct ngx_ssl_cached_sess_s {
- ngx_ssl_cached_sess_t *prev;
- ngx_ssl_cached_sess_t *next;
+ u_char *session;
+ ngx_ssl_sess_id_t *prev;
+ ngx_ssl_sess_id_t *next;
time_t expire;
- ngx_ssl_sess_id_t *sess_id;
- u_char asn1[1];
};
typedef struct {
ngx_rbtree_t *session_rbtree;
- ngx_ssl_cached_sess_t session_cache_head;
- ngx_ssl_cached_sess_t session_cache_tail;
+ ngx_ssl_sess_id_t session_cache_head;
+ ngx_ssl_sess_id_t session_cache_tail;
} ngx_ssl_session_cache_t;