Re: [RFC] CoAP for Zephyr


Vinicius Costa Gomes
 

Hi,

Vinicius Costa Gomes <vinicius.gomes(a)intel.com> writes:
Hi,

Extracted from:

https://gerrit.zephyrproject.org/r/#/c/2487/

--8<---------------cut here---------------start------------->8---

Quapi[1] - Basic CoAP for Zephyr
################################

CoAP[2] is a widely used protocol for IoT communications, used in the OCF
and LWM2M specifications, for example.

Concepts behind Quapi:
- basic, it will be enough to be compliant with the specification and to
implement concrete use cases from OCF and LWM2M, for example;
- network independence, to make the transition to others network stacks easier,
and testing trivial;
- predicable memory usage, avoiding dynamic memory allocation and keeping
the necessary state tracking mechanisms visible to the user;

The possibility of porting `sol-coap` (from Soletta[3]) to Zephyr was
considered, but the differences in the concurrence model of Soletta
and Zephyr, and the dependence of dynamic memory allocation would make
the porting difficult.

`libcoap` [4] is a pretty complete implementation, but too complicated
because it heavily depends on the network stack API and concepts, and
even if it's possible to make it to not allocate memory, much of it is
not directly exposed to the user.

You can reach the current implementation like this:

git clone http://ab01.bz.intel.com/~vcostago/quapi.git
The public accessible address is:

http://git.infradead.org/users/vcgomes/quapi.git


Cheers,
--
Vinicius

Join devel@lists.zephyrproject.org to automatically receive all group messages.