Details
Description
When adding a new entry to the IO vector we may squash the entry with the previous entry and extend the length if the entry to be added is an extension of the previous entry.
This logic is used in Cookie::sendResponse() (and other places).
Currently we could end up with iovectors like:
[0] { .base = 0; .length = 24 } // header
|
[1] { .base = 24; .length = 4 } // extras
|
[2] { .base = 28; .length = 32 } // key
|
[3] { .base = 60; .length = 20 } // body
|
Which could be replaced by:
[0] { .base = 0; .length = 80 }
|
THis results in a single call to SSL_write which would reduce the number of TLS frames to create