[nginx] SPDY: refactored ngx_http_spdy_body_filter().

Valentin Bartenev vbart at nginx.com
Tue Jan 14 12:58:03 UTC 2014


details:   http://hg.nginx.org/nginx/rev/dfb52d25cefb
branches:  
changeset: 5511:dfb52d25cefb
user:      Valentin Bartenev <vbart at nginx.com>
date:      Tue Jan 14 16:24:45 2014 +0400
description:
SPDY: refactored ngx_http_spdy_body_filter().

A local pointer to fake connection is introduced
to slightly reduce further patches.

No functional changes.

diffstat:

 src/http/ngx_http_spdy_filter_module.c |  13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diffs (58 lines):

diff -r 3ff29c30effb -r dfb52d25cefb src/http/ngx_http_spdy_filter_module.c
--- a/src/http/ngx_http_spdy_filter_module.c	Tue Jan 14 16:24:45 2014 +0400
+++ b/src/http/ngx_http_spdy_filter_module.c	Tue Jan 14 16:24:45 2014 +0400
@@ -617,6 +617,7 @@ ngx_http_spdy_body_filter(ngx_http_reque
     off_t                       size;
     ngx_buf_t                  *b;
     ngx_chain_t                *cl, *out, **ln;
+    ngx_connection_t           *fc;
     ngx_http_spdy_stream_t     *stream;
     ngx_http_spdy_out_frame_t  *frame;
 
@@ -626,7 +627,9 @@ ngx_http_spdy_body_filter(ngx_http_reque
         return ngx_http_next_body_filter(r, in);
     }
 
-    ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
+    fc = r->connection;
+
+    ngx_log_debug2(NGX_LOG_DEBUG_HTTP, fc->log, 0,
                    "spdy body filter \"%V?%V\"", &r->uri, &r->args);
 
     if (in == NULL || r->header_only) {
@@ -635,7 +638,7 @@ ngx_http_spdy_body_filter(ngx_http_reque
             return NGX_AGAIN;
         }
 
-        r->connection->buffered &= ~NGX_SPDY_WRITE_BUFFERED;
+        fc->buffered &= ~NGX_SPDY_WRITE_BUFFERED;
 
         return NGX_OK;
     }
@@ -647,7 +650,7 @@ ngx_http_spdy_body_filter(ngx_http_reque
         b = in->buf;
 #if 1
         if (ngx_buf_size(b) == 0 && !ngx_buf_special(b)) {
-            ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
+            ngx_log_error(NGX_LOG_ALERT, fc->log, 0,
                           "zero size buf in spdy body filter "
                           "t:%d r:%d f:%d %p %p-%p %p %O-%O",
                           b->temporary,
@@ -680,7 +683,7 @@ ngx_http_spdy_body_filter(ngx_http_reque
     } while (in);
 
     if (size > NGX_SPDY_MAX_FRAME_SIZE) {
-        ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
+        ngx_log_error(NGX_LOG_ALERT, fc->log, 0,
                       "FIXME: chain too big in spdy filter: %O", size);
         return NGX_ERROR;
     }
@@ -695,7 +698,7 @@ ngx_http_spdy_body_filter(ngx_http_reque
 
     stream->queued++;
 
-    return ngx_http_spdy_filter_send(r->connection, stream);
+    return ngx_http_spdy_filter_send(fc, stream);
 }
 
 



More information about the nginx-devel mailing list