From ddda411d146607ec6cd61fcbb3fff95340a28df2 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Sun, 30 Aug 2009 09:47:11 +0000 Subject: *) ngx_http_ephemeral *) use preallocated terminal_posted_request --- src/http/ngx_http_request.h | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'src/http/ngx_http_request.h') diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h index 52ac90c23..425737af0 100644 --- a/src/http/ngx_http_request.h +++ b/src/http/ngx_http_request.h @@ -510,6 +510,21 @@ struct ngx_http_request_s { /* used to parse HTTP headers */ ngx_uint_t state; + + ngx_uint_t header_hash; + ngx_uint_t lowcase_index; + u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN]; + + u_char *header_name_start; + u_char *header_name_end; + u_char *header_start; + u_char *header_end; + + /* + * a memory that can be reused after parsing a request line + * via ngx_http_ephemeral_t + */ + u_char *uri_start; u_char *uri_end; u_char *uri_ext; @@ -523,20 +538,17 @@ struct ngx_http_request_s { u_char *host_end; u_char *port_start; u_char *port_end; - u_char *header_name_start; - u_char *header_name_end; - u_char *header_start; - u_char *header_end; unsigned http_minor:16; unsigned http_major:16; - - ngx_uint_t header_hash; - ngx_uint_t lowcase_index; - u_char lowcase_header[NGX_HTTP_LC_HEADER_LEN]; }; +typedef struct { + ngx_http_posted_request_t terminal_posted_request; +} ngx_http_ephemeral_t; + + extern ngx_http_header_t ngx_http_headers_in[]; extern ngx_http_header_out_t ngx_http_headers_out[]; -- cgit v1.2.3