mirror of
https://github.com/obgm/libcoap.git
synced 2026-10-26 12:41:22 +03:00
Add in new ./configure options --enable-client-mode or --enable-server-mode which by default are enabled. If --disable-client-mode is set, then disable all the client specific code. [ COAP_CLIENT_SUPPORT is not defined ] If --disable-server-mode is set, then disable all the server specific code. [ COAP_SERVER_SUPPORT is not defined ] Functions and variables are only #ifdef'd out in the include/coap3/*_internal.h files. They cannot be #ifdef'd out in the other include files as COAP_CLIENT_SUPPORT and COAP_SERVER_SUPPORT are not available for application compilations. The result of this is if, say, client only API functons are used in a server application and COAP_CLIENT_SUPPORT is not defined, there will be linking issues (missing functions). Providing stub functions unecessarily increases the code size. For coap-server, if it is able to provide proxy support, requires both COAP_SERVER_SUPPORT and COAP_CLIENT_SUPPORT to set up the ongoing sessions. So, the build environment deliberatly sets SERVER_CAN_PROXY=0 if COAP_CLIENT_SUPPORT is not available to allow linking. Some of the tests have to be disabled if COAP_SERVER_SUPPORT or COAP_CLIENT_SUPPORT is not set. Code size change indications text data bss sum filename 155912 1728 12080 169720 libcoap-3-notls.a 138300 1728 12080 152108 libcoap-3-notls.a --disable-client-mode 106734 1632 10304 118670 libcoap-3-notls.a --disable-server-mode 180485 1733 12080 194298 libcoap-3-openssl.a 160306 1733 12080 174119 libcoap-3-openssl.a --disable-client-mode 125543 1637 10304 137484 libcoap-3-openssl.a --disable-server-mode 181755 1728 12080 195563 libcoap-3-gnutls.a 160972 1728 12080 174780 libcoap-3-gnutls.a --disable-client-mode 127178 1632 10304 139114 libcoap-3-gnutls.a --disable-server-mode 165879 1855 12128 179862 libcoap-3-tinydtls.a 147022 1855 12128 161005 libcoap-3-tinydtls.a --disable-client-mode 115618 1759 10352 127729 libcoap-3-tinydtls.a --disable-server-mode 171690 1728 13744 187162 libcoap-3-mbedtls.a 152099 1728 13712 167539 libcoap-3-mbedtls.a --disable-client-mode 118786 1632 11984 132402 libcoap-3-mbedtls.a --disable-server-mode
This README documents the test cases supported for the 1st ETSI CoAP plugtest on March 24/25 in Paris, France. <http://www.etsi.org/plugtests/coap/coap.htm> Legend: [+] full support [o] partial support [-] no support [?] needs check [ ] has open issues Mandatory Tests [+] TD_COAP_CORE_01 Perform GET transaction (CON mode) [+] TD_COAP_CORE_02 Perform POST transaction (CON mode) [+] TD_COAP_CORE_03 Perform PUT transaction (CON mode) [+] TD_COAP_CORE_04 Perform DELETE transaction (CON mode) [+] TD_COAP_CORE_05 Perform GET transaction (NON mode) [+] TD_COAP_CORE_06 Perform POST transaction (NON mode) [+] TD_COAP_CORE_07 Perform PUT transaction (NON mode) [+] TD_COAP_CORE_08 Perform DELETE transaction (NON mode) [+] TD_COAP_CORE_09 Perform GET transaction with delayed response (CON mode, no piggyback) [+] TD_COAP_CORE_10 Handle request containing Token option [+] TD_COAP_CORE_11 Handle request not containing Token option [+] TD_COAP_CORE_12 Handle request containing several Uri-Path options [+] TD_COAP_CORE_13 Handle request containing several Uri-Query options [?] TD_COAP_CORE_14 Interoperate in lossy context (CON mode, piggybacked response) [?] TD_COAP_CORE_15 Interoperate in lossy context (CON mode, delayed response) Optional Tests [ ] TD_COAP_LINK_01 Access to well-known interface for resource discovery [-] TD_COAP_LINK_02 Use filtered requests for limiting discovery results [+] TD_COAP_BLOCK_01 Handle GET blockwise transfer for large resource (early negotiation) [+] TD_COAP_BLOCK_02 Handle GET blockwise transfer for large resource (late negotiation) [-] TD_COAP_BLOCK_03 Handle PUT blockwise transfer for large resource [-] TD_COAP_BLOCK_04 Handle POST blockwise transfer for large resource [-] TD_COAP_OBS_01 Handle resource observation [-] TD_COAP_OBS_02 Stop resource observation [-] TD_COAP_OBS_03 Client detection of deregistration (Max-Age) [-] TD_COAP_OBS_04 Server detection of deregistration (client OFF) [-] TD_COAP_OBS_05 Server detection of deregistration (explicit RST)