SPDY: store the length of frame instead of its whole size.

The "length" value better corresponds with the specification and reduces
confusion about whether frame's header is included in "size" or not.

Also this change simplifies some parts of code, since in more cases the
length of frame is more useful than its actual size, especially considering
that the size of frame header is constant.
diff --git a/src/http/ngx_http_spdy.c b/src/http/ngx_http_spdy.c
index b5aa993..accfcb1 100644
--- a/src/http/ngx_http_spdy.c
+++ b/src/http/ngx_http_spdy.c
@@ -494,9 +494,9 @@
         out = frame;
 
         ngx_log_debug5(NGX_LOG_DEBUG_HTTP, c->log, 0,
-                       "spdy frame out: %p sid:%ui prio:%ui bl:%d size:%uz",
+                       "spdy frame out: %p sid:%ui prio:%ui bl:%d len:%uz",
                        out, out->stream ? out->stream->id : 0, out->priority,
-                       out->blocked, out->size);
+                       out->blocked, out->length);
     }
 
     cl = c->send_chain(c, cl, 0);
@@ -537,9 +537,9 @@
         }
 
         ngx_log_debug4(NGX_LOG_DEBUG_HTTP, c->log, 0,
-                       "spdy frame sent: %p sid:%ui bl:%d size:%uz",
+                       "spdy frame sent: %p sid:%ui bl:%d len:%uz",
                        out, out->stream ? out->stream->id : 0,
-                       out->blocked, out->size);
+                       out->blocked, out->length);
     }
 
     frame = NULL;
@@ -1587,9 +1587,7 @@
     frame->handler = ngx_http_spdy_settings_frame_handler;
     frame->stream = NULL;
 #if (NGX_DEBUG)
-    frame->size = NGX_SPDY_FRAME_HEADER_SIZE
-                  + NGX_SPDY_SETTINGS_NUM_SIZE
-                  + NGX_SPDY_SETTINGS_PAIR_SIZE;
+    frame->length = NGX_SPDY_SETTINGS_NUM_SIZE + NGX_SPDY_SETTINGS_PAIR_SIZE;
 #endif
     frame->priority = NGX_SPDY_HIGHEST_PRIORITY;
     frame->blocked = 0;
@@ -1637,7 +1635,7 @@
 
 
 static ngx_http_spdy_out_frame_t *
-ngx_http_spdy_get_ctl_frame(ngx_http_spdy_connection_t *sc, size_t size,
+ngx_http_spdy_get_ctl_frame(ngx_http_spdy_connection_t *sc, size_t length,
     ngx_uint_t priority)
 {
     ngx_chain_t                *cl;
@@ -1677,13 +1675,13 @@
     }
 
 #if (NGX_DEBUG)
-    if (size > NGX_SPDY_CTL_FRAME_BUFFER_SIZE - NGX_SPDY_FRAME_HEADER_SIZE) {
+    if (length > NGX_SPDY_CTL_FRAME_BUFFER_SIZE - NGX_SPDY_FRAME_HEADER_SIZE) {
         ngx_log_error(NGX_LOG_ALERT, sc->pool->log, 0,
-                      "requested control frame is too big: %uz", size);
+                      "requested control frame is too big: %uz", length);
         return NULL;
     }
 
-    frame->size = size;
+    frame->length = length;
 #endif
 
     frame->priority = priority;
diff --git a/src/http/ngx_http_spdy.h b/src/http/ngx_http_spdy.h
index 3dab0fe..652b88f 100644
--- a/src/http/ngx_http_spdy.h
+++ b/src/http/ngx_http_spdy.h
@@ -142,7 +142,7 @@
                                         ngx_http_spdy_out_frame_t *frame);
 
     ngx_http_spdy_stream_t          *stream;
-    size_t                           size;
+    size_t                           length;
 
     ngx_uint_t                       priority;
     unsigned                         blocked:1;
diff --git a/src/http/ngx_http_spdy_filter_module.c b/src/http/ngx_http_spdy_filter_module.c
index bc39ec2..6cf4aea 100644
--- a/src/http/ngx_http_spdy_filter_module.c
+++ b/src/http/ngx_http_spdy_filter_module.c
@@ -560,13 +560,14 @@
 
     r->header_size = len;
 
+    len -= NGX_SPDY_FRAME_HEADER_SIZE;
+
     if (r->header_only) {
         b->last_buf = 1;
-        p = ngx_spdy_frame_write_flags_and_len(p, NGX_SPDY_FLAG_FIN,
-                                             len - NGX_SPDY_FRAME_HEADER_SIZE);
+        p = ngx_spdy_frame_write_flags_and_len(p, NGX_SPDY_FLAG_FIN, len);
+
     } else {
-        p = ngx_spdy_frame_write_flags_and_len(p, 0,
-                                             len - NGX_SPDY_FRAME_HEADER_SIZE);
+        p = ngx_spdy_frame_write_flags_and_len(p, 0, len);
     }
 
     (void) ngx_spdy_frame_write_sid(p, stream->id);
@@ -588,14 +589,14 @@
     frame->last = cl;
     frame->handler = ngx_http_spdy_syn_frame_handler;
     frame->stream = stream;
-    frame->size = len;
+    frame->length = len;
     frame->priority = stream->priority;
     frame->blocked = 1;
     frame->fin = r->header_only;
 
     ngx_log_debug3(NGX_LOG_DEBUG_HTTP, stream->request->connection->log, 0,
-                   "spdy:%ui create SYN_REPLY frame %p: size:%uz",
-                   stream->id, frame, frame->size);
+                   "spdy:%ui create SYN_REPLY frame %p: len:%uz",
+                   stream->id, frame, frame->length);
 
     ngx_http_spdy_queue_blocked_frame(sc, frame);
 
@@ -881,7 +882,7 @@
     frame->last = last;
     frame->handler = ngx_http_spdy_data_frame_handler;
     frame->stream = stream;
-    frame->size = NGX_SPDY_FRAME_HEADER_SIZE + len;
+    frame->length = len;
     frame->priority = stream->priority;
     frame->blocked = 0;
     frame->fin = last->buf->last_buf;
@@ -1043,7 +1044,7 @@
 
     r = stream->request;
 
-    r->connection->sent += frame->size;
+    r->connection->sent += NGX_SPDY_FRAME_HEADER_SIZE + frame->length;
 
     if (frame->fin) {
         stream->out_closed = 1;