summaryrefslogtreecommitdiff
path: root/zephyr/modusocket.c
AgeCommit message (Collapse)Author
2017-04-26zephyr/modusocket: Refactor recv() into stream read() method.Paul Sokolovsky
2017-04-26zephyr/modusocket: Enable stream write() method.Paul Sokolovsky
2017-04-26zephyr/modusocket: Refactor send() into stream write() method.Paul Sokolovsky
2017-04-14socket_send: Don't send more than MTU allows.Paul Sokolovsky
As Zephyr currently doesn't handle MTU itself (ZEP-1998), limit amount of data we send on our side. Also, if we get unsuccessful result from net_nbuf_append(), calculate how much data it has added still. This works around ZEP-1984.
2017-04-13zephyr/modusocket: Strip packet header right in the receive callback.Paul Sokolovsky
Instead of complicating recv() implementation.
2017-04-11zephyr/modusocket: Call net_nbuf_print_frags() in recv callback if DEBUG > 1.Paul Sokolovsky
2017-04-08zephyr/modusocket: Implement accept().Paul Sokolovsky
2017-04-08zephyr/modusocket: socket_bind: Don't set recv callback on STREAM sockets.Paul Sokolovsky
For stream sockets, next exected operation is listen().
2017-04-07zephyr/modusocket: Implement listen().Paul Sokolovsky
2017-04-06modusocket: Handle a case when recv_q is empty when EOF is signaled.Paul Sokolovsky
In this case, we can mark socket as closed directly.
2017-04-05zephyr/modusocket: Factor out "extended k_fifo API".Paul Sokolovsky
Internal structure of k_fifo changed between 1.7 and 1.8, so we need to abstract it away. This adds more functions than currently used, for future work.
2017-04-04zephyr/modusocket: Factor out socket_new() function.Paul Sokolovsky
It will be reused e.g. for accept() implementation.
2017-04-04zephyr/modusocket: Be sure to use MP_OBJ_FROM_PTR.Paul Sokolovsky
2017-04-02zephyr/modusocket: Implement recv() for TCP sockets.Paul Sokolovsky
Short read approach is taken - at most, the remaining data in the current fragment will be returned.
2017-04-01zephyr/modusocket: Implement recv() for UDP sockets.Paul Sokolovsky
The foundation of recv() support is per-socket queue of incoming packets, implemented using Zephyr FIFO object. This patch implements just recv() for UDP, because TCP recv() requires much more fine-grained control of network fragments and handling other issues, like EOF condition, etc.
2017-03-31zephyr/modusocket: Implement send().Paul Sokolovsky
2017-03-31zephyr/modusocket: Implement bind() and connect().Paul Sokolovsky
2017-03-31zephyr/modusocket: Initial version of usocket module for Zephyr.Paul Sokolovsky
So far, socket creation and closure is implemented.