Patrick Barrett / libexositecoap
Committer:
Patrick Barrett
Date:
Fri Dec 19 15:43:03 2014 -0600
Revision:
7:f9df43829cea
make picocoap a subtree instead of submodule

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Patrick Barrett 7:f9df43829cea 1 PicoCoAP is a very minimal CoAP library written in C. The main goal of this
Patrick Barrett 7:f9df43829cea 2 library is to implement the CoAP protocol while using a little memory as
Patrick Barrett 7:f9df43829cea 3 possible.
Patrick Barrett 7:f9df43829cea 4
Patrick Barrett 7:f9df43829cea 5 # Values
Patrick Barrett 7:f9df43829cea 6
Patrick Barrett 7:f9df43829cea 7 1. Safety
Patrick Barrett 7:f9df43829cea 8 * Above all, this library aims to be safe. All memory operations are done with
Patrick Barrett 7:f9df43829cea 9 explicitly stated bounds. In the event of a malformed packet it should fail
Patrick Barrett 7:f9df43829cea 10 safely.
Patrick Barrett 7:f9df43829cea 11 2. Completeness
Patrick Barrett 7:f9df43829cea 12 * This is intended to be a complete implementation of the protocol and tries not
Patrick Barrett 7:f9df43829cea 13 to make simplifications that are "usually" safe to make.
Patrick Barrett 7:f9df43829cea 14 3. Memory Usage
Patrick Barrett 7:f9df43829cea 15 * All operations try to use the absolute minimum amount of memory possible,
Patrick Barrett 7:f9df43829cea 16 while not violating the first two values, even at the expense of processing
Patrick Barrett 7:f9df43829cea 17 time. All operations are done on a buffers containing the actual message
Patrick Barrett 7:f9df43829cea 18 network binary representation for each method call.
Patrick Barrett 7:f9df43829cea 19 4. Simple API
Patrick Barrett 7:f9df43829cea 20 * This library should be able to be used by users who only have a basic
Patrick Barrett 7:f9df43829cea 21 understanding of the protocol. Terminology is intended to be simple, but
Patrick Barrett 7:f9df43829cea 22 does not invent new terms that the RFC already defines.
Patrick Barrett 7:f9df43829cea 23
Patrick Barrett 7:f9df43829cea 24 # Status
Patrick Barrett 7:f9df43829cea 25
Patrick Barrett 7:f9df43829cea 26 Currently only message encoding and decoding is currently implemented. I will be
Patrick Barrett 7:f9df43829cea 27 looking into creating a server that handles the actual sending and receiving of
Patrick Barrett 7:f9df43829cea 28 messages along with the associated retries and other protocol complexity. This
Patrick Barrett 7:f9df43829cea 29 may or may not ever be added.
Patrick Barrett 7:f9df43829cea 30
Patrick Barrett 7:f9df43829cea 31 As this is a new library there may be bugs, please report them. The best way is
Patrick Barrett 7:f9df43829cea 32 to open a pull request with a test case that shows the bug and better yet also a
Patrick Barrett 7:f9df43829cea 33 patch to fix it. Additionally, general comments about design and usability are
Patrick Barrett 7:f9df43829cea 34 also welcome.