mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-02 12:52:27 +00:00
The rationale for removing fragments while sending them is to free the memory they're using as soon as possible. This worked fine because most protocols implemented initially did not require any retransmission, so the upper layers were never holding an extra reference to the buffer (& their fragments). This is not the case anymore, as the TCP layer holds a reference to a buffer (& fragments) while confirmation from the peer has not been received, allowing retransmission. With this change, the fragments of a buffer are not removed when being sent by the SLIP layer; however, the buffer is still deferenced when the transmission is complete. If nothing else holds a reference, all the fragments are returned to their respective pools, like before. Change-Id: I74966d72f6970b66f526ea0b765101077c843de2 Signed-off-by: Leandro Pereira <leandro.pereira@intel.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
slip.c |