Add a comment about an assumption we make in our keepalive buffering.
Delay the check for "too many items in an iovec" until we actually try to put something in there. This allows that N+1 bucket to be an EOS, FLUSH, FILE, or zero-length bucket without triggering a split. Only if that next bucket has iovec data will a split be made.
Create Files, and thus MMAPs, out of the request pool, not the connection pool. This solves a small resource leak that had us not closing files until a connection was closed. In order to do this, at the end of the core_output_filter, we loop through the brigade and convert any data we have into a single HEAP bucket that we know will survive clearing the request_rec.
Submitted by: Ryan Bloom, Justin Erenkrantz <email@example.com>, Cliff Woolley