7720f6ed1c
Introduce support buffer fragment chains that are linked together. This is done with the help of a flag while the buffer is inside a FIFO (indicating that the next fragment follows it in the same FIFO) and with the help of a "next" pointer while the buffer is outside of a FIFO. In order to do proper "marshaling" a new net_buf_put() API needs to be always used when inserting a buffer into a FIFO. Respectively, the net_buf_get() and net_buf_get_timeout() functions are extended to support getting buffers from arbitrary FIFOs and reassemble the fragment chain based on the flags that the received buffers contain. The insertion of a fragment chain using net_buf_put() into a FIFO is done atomically with the help of irq_lock/unlock since FIFOs support multiple writers, however since there's ever only a single reader per FIFO similar locking is not necessary there. Change-Id: I0ec579f63ea8d063f50e3f1f4c2e80ec399622d7 Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> |
||
---|---|---|
.. | ||
buf.h | ||
ip_buf.h | ||
l2_buf.h | ||
net_core.h | ||
net_ip.h | ||
net_socket.h | ||
tinydtls.h |