Mercurial > hg > nginx-quic
diff src/http/ngx_http_write_filter.c @ 361:446782c909b3
nginx-0.0.7-2004-06-20-23:54:15 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 20 Jun 2004 19:54:15 +0000 |
parents | 2e3cbc1bbe3c |
children | 7650aea1816f |
line wrap: on
line diff
--- a/src/http/ngx_http_write_filter.c +++ b/src/http/ngx_http_write_filter.c @@ -69,7 +69,7 @@ ngx_module_t ngx_http_write_filter_modu ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in) { int last; - off_t size, flush; + off_t size, flush, sent; ngx_chain_t *cl, *ln, **ll, *chain; ngx_http_write_filter_ctx_t *ctx; ngx_http_write_filter_conf_t *conf; @@ -138,7 +138,7 @@ ngx_int_t ngx_http_write_filter(ngx_http return NGX_OK; } - if (r->connection->write->delayed) { + if (r->delayed) { return NGX_AGAIN; } @@ -150,11 +150,19 @@ ngx_int_t ngx_http_write_filter(ngx_http return NGX_OK; } + sent = r->connection->sent; + chain = ngx_write_chain(r->connection, ctx->out); ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "http write filter %X", chain); +#if 1 + sent = r->connection->sent - sent; + r->delayed = 1; + ngx_add_timer(r->connection->write, sent * 1000 / (4 * 1024)); +#endif + if (chain == NGX_CHAIN_ERROR) { return NGX_ERROR; }