mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
a7d468988d
This change amends the `sock` API by a set of functions to `sock` that allow provisioning of stack-internal buffers to the caller on receive. This allows to cover two use-cases 1. Zero-copy systems: if the stacks supported the buffer space provided by these functions can be the same that was filled in the link-layer 2. asynchronous receive within a wrapping sock layer (e.g. `sock_dtls` wrapping `sock_udp`): to receive packets of the lower level protocol asynchronously, the wrapping implementation layer would currently need to allocate its own buffer space, introducing a third buffer space in addition to the one of the application and the network stack. For a wrapping layer this is undesirable. While there are security considerations exposing stack internal memory space to the caller, I believe they are minor, as in the end the application developer is the person in control of the node. |
||
---|---|---|
.. | ||
async | ||
async.h | ||
dns.h | ||
dtls.h | ||
ip.h | ||
tcp.h | ||
udp.h | ||
util.h |