mirror of
https://git.savannah.nongnu.org/git/lwip.git
synced 2026-05-07 00:36:21 +08:00
While TCP_OVERSIZE works only when tcp_write() is used with TCP_WRITE_FLAG_COPY, this new code achieves similar benefits for the use case that the caller manages their own send buffers and passes successive chunks of those to tcp_write() without TCP_WRITE_FLAG_COPY. In particular, if a buffer is passed to tcp_write() that is adjacent in memory to the previously passed buffer, it will be combined into the previous ROM pbuf reference whenever possible, thus extending that ROM pbuf rather than allocating a new ROM pbuf. For the aforementioned use case, the advantages of this code are twofold: 1) fewer ROM pbufs need to be allocated to send the same data, and, 2) the MAC layer gets outgoing TCP packets with shorter pbuf chains. Original patch by Ambroz Bizjak <ambrop7@gmail.com> Edited by David van Moolenbroek <david@minix3.org> Signed-off-by: goldsimon <goldsimon@gmx.de>
168 KiB
168 KiB