changeset 5694:9a95eb9f448b

SPDY: refactored ngx_http_spdy_state_headers(). This change is similar to d2ac5cf4056d. Special flag of completeness looks surplus when there is also a counter of frame bytes left.
author Valentin Bartenev <vbart@nginx.com>
date Wed, 30 Apr 2014 20:34:20 +0400
parents 701d6e17e42c
children 231588611230
files src/http/ngx_http_spdy.c
diffstat 1 files changed, 4 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/ngx_http_spdy.c
+++ b/src/http/ngx_http_spdy.c
@@ -1009,7 +1009,6 @@ ngx_http_spdy_state_headers(ngx_http_spd
     size_t               size;
     ngx_buf_t           *buf;
     ngx_int_t            rc;
-    ngx_uint_t           complete;
     ngx_http_request_t  *r;
 
     size = end - pos;
@@ -1019,12 +1018,8 @@ ngx_http_spdy_state_headers(ngx_http_spd
                                         ngx_http_spdy_state_headers);
     }
 
-    if (size >= sc->length) {
+    if (size > sc->length) {
         size = sc->length;
-        complete = 1;
-
-    } else {
-        complete = 0;
     }
 
     r = sc->stream->request;
@@ -1089,7 +1084,7 @@ ngx_http_spdy_state_headers(ngx_http_spd
 
         if (buf->last - buf->pos < NGX_SPDY_NV_NUM_SIZE) {
 
-            if (complete) {
+            if (sc->length == 0) {
                 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
                                "premature end of spdy header block");
 
@@ -1181,7 +1176,7 @@ ngx_http_spdy_state_headers(ngx_http_spd
                 continue;
             }
 
-            if (complete) {
+            if (sc->length == 0) {
                 ngx_log_debug0(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
                                "premature end of spdy header block");
 
@@ -1225,7 +1220,7 @@ ngx_http_spdy_state_headers(ngx_http_spd
         return ngx_http_spdy_state_headers_error(sc, pos, end);
     }
 
-    if (!complete) {
+    if (sc->length) {
         return ngx_http_spdy_state_save(sc, pos, end,
                                         ngx_http_spdy_state_headers);
     }