Mercurial > hg > nginx
diff src/os/win32/ngx_wsasend_chain.c @ 5850:f9c83484d9ce
Moved the code for adjusting sent buffers in a separate function.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Wed, 13 Aug 2014 15:11:45 +0400 |
parents | d620f497c50f |
children | 150df089fe47 |
line wrap: on
line diff
--- a/src/os/win32/ngx_wsasend_chain.c +++ b/src/os/win32/ngx_wsasend_chain.c @@ -119,29 +119,7 @@ ngx_wsasend_chain(ngx_connection_t *c, n c->sent += sent; - for (cl = in; cl; cl = cl->next) { - - if (ngx_buf_special(cl->buf)) { - continue; - } - - if (sent == 0) { - break; - } - - size = cl->buf->last - cl->buf->pos; - - if (sent >= size) { - sent -= size; - cl->buf->pos = cl->buf->last; - - continue; - } - - cl->buf->pos += sent; - - break; - } + cl = ngx_handle_sent_chain(in, sent); if (!complete) { wev->ready = 0; @@ -308,28 +286,7 @@ ngx_overlapped_wsasend_chain(ngx_connect c->sent += sent; - for (cl = in; cl && sent > 0; cl = cl->next) { - if (ngx_buf_special(cl->buf)) { - continue; - } - - if (sent == 0) { - break; - } - - size = cl->buf->last - cl->buf->pos; - - if (sent >= size) { - sent -= size; - cl->buf->pos = cl->buf->last; - - continue; - } - - cl->buf->pos += sent; - - break; - } + cl = ngx_handle_sent_chain(in, sent); if (cl) { wev->ready = 0;