diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2007-01-11 17:39:02 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2007-01-11 17:39:02 +0000 |
| commit | b3179450894c9bd9d84bbad9104e12c7c103eb37 (patch) | |
| tree | 31f197482a3f63d27687770fe8d1ce493857ba71 /src/event/ngx_event_openssl.h | |
| parent | e532b0194c764d3e543bcd8d70791ca9a55a7483 (diff) | |
| download | nginx-b3179450894c9bd9d84bbad9104e12c7c103eb37.tar.gz nginx-b3179450894c9bd9d84bbad9104e12c7c103eb37.tar.bz2 | |
optimize the SSL session cache allocations
Diffstat (limited to '')
| -rw-r--r-- | src/event/ngx_event_openssl.h | 24 |
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; |
