Files
openthread/third_party/tcplp
Sam Kumar d79468bb18 [tcp] add support for otTcpForwardProgress callback (#7583)
This commit adds support for the remaining TCP callback, which was not
yet supported.

Originally, the unimplemented callback was otTcpSendReady, which would
indicate to the application when new data added to the TCP send buffer
would be sent out immediately. There was also discussion of adding an
otTcpBytesAcked callback, which, together with the
otTcpSendByExtension() call, would allow a circular buffer to be
implemented efficiently on top of the otLinkedBuffer API.

Ultimately, it seemed best to generalize the otTcpSendReady callback
to include both cases where bytes are acked by the connection peer,
and where the send buffer drains, allowing new data to be sent
immediately. The reasoning behind this decision is that both the
otTcpSendReady and otTcpBytesAcked callbacks are triggered by the same
event --- an ACK received from the connection peer --- and that it may
require the application to have to "coordinate state" across
callbacks. Having a single callback function to indicate both
conditions seemed like it could simplify applications significantly.

The new, combined, callback is otTcpForwardProgress. This commit
implements support and documentation for this callback function.
2022-04-22 09:12:12 -07:00
..

TCPlp

This module will contain a port of TCPlp for OpenThread. Currently, it only contains part of the implementation; the rest will be added in future pull requests.

URL

Based on https://github.com/ucbrise/tcplp.

License

BSD 3-Clause

TCPlp is derived from the TCP stack in the FreeBSD Operating System. Files taken from FreeBSD retain their original copyright notices and licenses (which are BSD-like licenses). New code contributed as part of TCPlp is provided under the BSD 3-Clause License.

Description

TCPlp is a full-scale TCP stack for low-power wireless networks and resource-constrained embedded systems. It is designed to support performant and efficient TCP operation over IEEE 802.15.4 networks. It is based on the TCP stack in the FreeBSD operating system.

TCPlp is a software artifact that accompanies an NSDI 2020 paper:

Sam Kumar, Michael P Andersen, Hyung-Sin Kim, and David E. Culler. Performant TCP for Low-Power Wireless Networks. NSDI 2020.

The paper is available at the following locations: