]> git.kaiwu.me - nginx.git/commitdiff
SPDY: refactored ngx_http_spdy_state_headers().
authorValentin Bartenev <vbart@nginx.com>
Wed, 30 Apr 2014 16:34:20 +0000 (20:34 +0400)
committerValentin Bartenev <vbart@nginx.com>
Wed, 30 Apr 2014 16:34:20 +0000 (20:34 +0400)
This change is similar to d2ac5cf4056d.  Special flag of completeness looks
surplus when there is also a counter of frame bytes left.

src/http/ngx_http_spdy.c

index b754c4cc0025d0cf568dbd1c150cf79d007c84e4..8bce18ebb3de0096a595d12a3be749ca4f7ebabd 100644 (file)
@@ -1009,7 +1009,6 @@ ngx_http_spdy_state_headers(ngx_http_spdy_connection_t *sc, u_char *pos,
     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_spdy_connection_t *sc, u_char *pos,
                                         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_spdy_connection_t *sc, u_char *pos,
 
         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_spdy_connection_t *sc, u_char *pos,
                 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_spdy_connection_t *sc, u_char *pos,
         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);
     }