As of now, it allows to better control bandwidth limiting from additional
modules. It is also expected to be used to add variables support to
the limit_rate_after directive.
#endif
size_t limit_rate;
+ size_t limit_rate_after;
/* used to learn the Apache compatible response length without a header */
size_t header_size;
}
if (r->limit_rate) {
+ if (r->limit_rate_after == 0) {
+ r->limit_rate_after = clcf->limit_rate_after;
+ }
+
limit = (off_t) r->limit_rate * (ngx_time() - r->start_sec + 1)
- - (c->sent - clcf->limit_rate_after);
+ - (c->sent - r->limit_rate_after);
if (limit <= 0) {
c->write->delayed = 1;
nsent = c->sent;
- if (clcf->limit_rate_after) {
+ if (r->limit_rate_after) {
- sent -= clcf->limit_rate_after;
+ sent -= r->limit_rate_after;
if (sent < 0) {
sent = 0;
}
- nsent -= clcf->limit_rate_after;
+ nsent -= r->limit_rate_after;
if (nsent < 0) {
nsent = 0;
}