There's a maxreadahead parameter which is <= maxinput. When a request arrives with Content-Length > 0 && < maxinput, maxreadahead bytes are read into a buffer by the driver thread before the conn is passed to a conn thread.
Actually, there is already (kind of) maxreadahead param: bufsize. It is used as the buffer size when starting the read from socket and it defaults to 16K. We can use and/or rename this to maxreadahead to better illustrate the fact what is being done. Zoran