diff --git a/Makefile.dep b/Makefile.dep index 8aac8bf9413fe50d0e4572052a86fa50ca1d39a0..006ad059dd9a22337808f8abcd14f33efc7bff69 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -759,16 +759,15 @@ ifneq (,$(filter cord_epsim,$(USEMODULE))) USEMODULE += gcoap endif -ifneq (,$(filter rdcli_standalone,$(USEMODULE))) - USEMODULE += rdcli +ifneq (,$(filter cord_ep_standalone,$(USEMODULE))) + USEMODULE += cord_ep USEMODULE += xtimer endif -ifneq (,$(filter rdcli,$(USEMODULE))) +ifneq (,$(filter cord_ep,$(USEMODULE))) USEMODULE += cord_common USEMODULE += core_thread_flags USEMODULE += gcoap - USEMODULE += fmt ifneq (,$(filter shell_commands,$(USEMODULE))) USEMODULE += sock_util endif diff --git a/examples/rdcli/Makefile b/examples/rdcli/Makefile index cf1007f7ecaae243354cb6609d289958d8a5db32..c5b70456d350c4410e5b01d765705ded6664af31 100644 --- a/examples/rdcli/Makefile +++ b/examples/rdcli/Makefile @@ -19,7 +19,7 @@ USEMODULE += auto_init_gnrc_netif USEMODULE += gnrc_ipv6_default USEMODULE += gnrc_icmpv6_echo -USEMODULE += rdcli_standalone +USEMODULE += cord_ep_standalone USEMODULE += shell USEMODULE += shell_commands diff --git a/examples/rdcli/main.c b/examples/rdcli/main.c index 4d00e6d885b9a084b53eca14ff05998d1c1e7169..d34572da572b09a9b7b44d403dc1047f717b797e 100644 --- a/examples/rdcli/main.c +++ b/examples/rdcli/main.c @@ -25,22 +25,22 @@ #include "net/ipv6/addr.h" #include "net/gcoap.h" #include "net/cord/common.h" -#include "net/rdcli_standalone.h" +#include "net/cord/ep_standalone.h" #define MAIN_QUEUE_SIZE (8) static msg_t _main_msg_queue[MAIN_QUEUE_SIZE]; /* we will use a custom event handler for dumping rdcli_standalone events */ -static void _on_rdcli_event(rdcli_standalone_event_t event) +static void _on_rdcli_event(cord_ep_standalone_event_t event) { switch (event) { - case RDCLI_REGISTERED: + case CORD_EP_REGISTERED: puts("rdcli event: now registered with a RD"); break; - case RDCLI_DEREGISTERED: + case CORD_EP_DEREGISTERED: puts("rdcli event: dropped client registration"); break; - case RDCLI_UPDATED: + case CORD_EP_UPDATED: puts("rdcli event: successfully updated client registration"); break; } @@ -94,8 +94,8 @@ int main(void) /* setup CoAP resources */ gcoap_register_listener(&_listener); - /* register event callback with rdcli_standalone */ - rdcli_standalone_reg_cb(_on_rdcli_event); + /* register event callback with cord_ep_standalone */ + cord_ep_standalone_reg_cb(_on_rdcli_event); puts("Client information:"); printf(" ep: %s\n", cord_common_get_ep()); diff --git a/makefiles/pseudomodules.inc.mk b/makefiles/pseudomodules.inc.mk index edae194676bf749527dc419d49d002b621301222..f27ea28fb4c1fe19b8125ff8b90f8adbfe9fc7f3 100644 --- a/makefiles/pseudomodules.inc.mk +++ b/makefiles/pseudomodules.inc.mk @@ -5,6 +5,7 @@ PSEUDOMODULES += can_pm PSEUDOMODULES += can_raw PSEUDOMODULES += ccn-lite-utils PSEUDOMODULES += conn_can_isotp_multi +PSEUDOMODULES += cord_ep_standalone PSEUDOMODULES += cord_epsim_standalone PSEUDOMODULES += core_% PSEUDOMODULES += ecc_% @@ -53,7 +54,6 @@ PSEUDOMODULES += pktqueue PSEUDOMODULES += printf_float PSEUDOMODULES += prng PSEUDOMODULES += prng_% -PSEUDOMODULES += rdcli_standalone PSEUDOMODULES += saul_adc PSEUDOMODULES += saul_default PSEUDOMODULES += saul_gpio diff --git a/sys/Makefile b/sys/Makefile index 5d9342643d79d7d07c20fefd6261d3745cf2c2fb..6068eb76e3223c519e54a3085859734e6f843be2 100644 --- a/sys/Makefile +++ b/sys/Makefile @@ -133,7 +133,7 @@ endif ifneq (,$(filter cord_epsim,$(USEMODULE))) DIRS += net/application_layer/cord/epsim endif -ifneq (,$(filter rdcli,$(USEMODULE))) +ifneq (,$(filter cord_ep,$(USEMODULE))) DIRS += net/application_layer/cord/ep endif diff --git a/sys/auto_init/auto_init.c b/sys/auto_init/auto_init.c index 7e00e1ac44a74ed75bdc8757ab864292a7236793..d81277d478d78782add9ec3e1a06269261ceef8a 100644 --- a/sys/auto_init/auto_init.c +++ b/sys/auto_init/auto_init.c @@ -163,10 +163,10 @@ void auto_init(void) extern void cord_common_init(void); cord_common_init(); #endif -#ifdef MODULE_RDCLI_STANDALONE - DEBUG("Auto init rdcli_standalone\n"); - extern void rdcli_standalone_run(void); - rdcli_standalone_run(); +#ifdef MODULE_CORD_EP_STANDALONE + DEBUG("Auto init cord_ep_standalone\n"); + extern void cord_ep_standalone_run(void); + cord_ep_standalone_run(); #endif #ifdef MODULE_CORD_EPSIM_STANDALONE DEBUG("Auto init cord_epsim module\n"); diff --git a/sys/include/net/rdcli.h b/sys/include/net/cord/ep.h similarity index 54% rename from sys/include/net/rdcli.h rename to sys/include/net/cord/ep.h index f9b2a049f52e246c46637b0fbae174a04169c7c4..0a1409f5a7dffa8816c5040b7bdde90968e5dc36 100644 --- a/sys/include/net/rdcli.h +++ b/sys/include/net/cord/ep.h @@ -7,8 +7,8 @@ */ /** - * @defgroup net_rdcli CoRE RD Endpoint Library - * @ingroup net + * @defgroup net_cord_ep CoRE RD Endpoint + * @ingroup net_cord * @brief Library for using RIOT as CoRE Resource Directory endpoint * * This module implements a CoRE Resource Directory endpoint library, that @@ -17,14 +17,10 @@ * draft-ietf-core-resource-directory-15. * @see https://tools.ietf.org/html/draft-ietf-core-resource-directory-15 * - * @note As the name of this library (`rdcli`) can be misleading in - * context of the RD draft (endpoint vs client), this library - * will most likely undergo a name change in the near future... - * * # Design Decisions * - all operations provided by this module are fully synchronous, meaning that * the functions will block until an operation is successful or will time out - * - the implementation limits the client to be registered with a single RD at + * - the implementation limits the endpoint to be registered with a single RD at * any point in time * * @{ @@ -35,8 +31,8 @@ * @author Hauke Petersen <hauke.petersen@fu-berlin.de> */ -#ifndef NET_RDCLI_H -#define NET_RDCLI_H +#ifndef NET_CORD_EP_H +#define NET_CORD_EP_H #include "net/sock/udp.h" @@ -48,11 +44,11 @@ extern "C" { * @brief Return values and error codes used by this module */ enum { - RDCLI_OK = 0, /**< everything went as expected */ - RDCLI_TIMEOUT = -1, /**< no response from the network */ - RDCLI_ERR = -2, /**< internal error or invalid reply */ - RDCLI_NORD = -3, /**< not connected to an RD */ - RDCLI_OVERFLOW = -4, /**< internal buffers can not handle input */ + CORD_EP_OK = 0, /**< everything went as expected */ + CORD_EP_TIMEOUT = -1, /**< no response from the network */ + CORD_EP_ERR = -2, /**< internal error or invalid reply */ + CORD_EP_NORD = -3, /**< not connected to an RD */ + CORD_EP_OVERFLOW = -4, /**< internal buffers can not handle input */ }; /** @@ -62,19 +58,19 @@ enum { * @param[out] regif the registration interface is written to this buffer * @param[in] maxlen size of @p regif * - * @return RDCLI_OK on success - * @return RDCLI_TIMEOUT if the discovery request times out - * @return RDCLI_NORD if addressed endpoint is not a RD - * @return RDCLI_ERR on any other internal error + * @return CORD_EP_OK on success + * @return CORD_EP_TIMEOUT if the discovery request times out + * @return CORD_EP_NORD if addressed endpoint is not a RD + * @return CORD_EP_ERR on any other internal error */ -int rdcli_discover_regif(const sock_udp_ep_t *remote, - char *regif, size_t maxlen); +int cord_ep_discover_regif(const sock_udp_ep_t *remote, + char *regif, size_t maxlen); /** * @brief Initiate the node registration by sending an empty push * * - if registration fails (e.g. timeout), we are not associated with any RD - * anymore (even if we have been before we called rdcli_register) + * anymore (even if we have been before we called cord_ep_register) * * @note In case a multicast address is given, the @p regif parameter MUST be * NULL. The first RD responding to the request will be chosen and all @@ -84,40 +80,40 @@ int rdcli_discover_regif(const sock_udp_ep_t *remote, * @param[in] regif registration interface resource of the RD, it will be * discovered automatically when set to NULL * - * @return RDCLI_OK on success - * @return RDCLI_TIMEOUT on registration timeout - * @return RDCLI_NORD if addressed endpoint is not a RD - * @return RDCLI_OVERFLOW if @p regif does not fit into internal buffer - * @return RDCLI_ERR on any other internal error + * @return CORD_EP_OK on success + * @return CORD_EP_TIMEOUT on registration timeout + * @return CORD_EP_NORD if addressed endpoint is not a RD + * @return CORD_EP_OVERFLOW if @p regif does not fit into internal buffer + * @return CORD_EP_ERR on any other internal error */ -int rdcli_register(const sock_udp_ep_t *remote, const char *regif); +int cord_ep_register(const sock_udp_ep_t *remote, const char *regif); /** * @brief Update our current entry at the RD * - * @return RDCLI_OK on success - * @return RDCLI_TIMEOUT if the update request times out - * @return RDCLI_ERR on any other internal error + * @return CORD_EP_OK on success + * @return CORD_EP_TIMEOUT if the update request times out + * @return CORD_EP_ERR on any other internal error */ -int rdcli_update(void); +int cord_ep_update(void); /** * @brief Unregister from a given RD server * - * @return RDCLI_OK on success - * @return RDCLI_TIMEOUT if the remove request times out - * @return RDCLI_ERR on any other internal error + * @return CORD_EP_OK on success + * @return CORD_EP_TIMEOUT if the remove request times out + * @return CORD_EP_ERR on any other internal error */ -int rdcli_remove(void); +int cord_ep_remove(void); /** * @brief Dump the current RD connection status to STDIO (for debugging) */ -void rdcli_dump_status(void); +void cord_ep_dump_status(void); #ifdef __cplusplus } #endif -#endif /* NET_RDCLI_H */ +#endif /* NET_CORD_EP_H */ /** @} */ diff --git a/sys/include/net/cord/ep_standalone.h b/sys/include/net/cord/ep_standalone.h new file mode 100644 index 0000000000000000000000000000000000000000..9d900b71eddce79f892e06d52eb730566f6d72a3 --- /dev/null +++ b/sys/include/net/cord/ep_standalone.h @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2017-2018 Freie Universität Berlin + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + */ + +/** + * @defgroup net_cord_ep_standalone CoRE RD Endpoint Standalone Extension + * @ingroup net_cord_ep + * @brief Run a CoRE Resource Directory endpoint standalone + * + * This sub-module enables a CoRE RD endpoint to manage is registration state + * with a RD autonomously by periodically running the update procedure. This + * is implemented by running a dedicated thread. + * + * @{ + * + * @file + * @brief CoRE Resource Directory endpoint standalone extension + * + * @author Hauke Petersen <hauke.petersen@fu-berlin.de> + */ + +#ifndef NET_CORD_EP_STANDALONE_H +#define NET_CORD_EP_STANDALONE_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Possible types of events triggered by the cord_ep_standalone module + */ +typedef enum { + CORD_EP_REGISTERED, + CORD_EP_DEREGISTERED, + CORD_EP_UPDATED, +} cord_ep_standalone_event_t; + +/** + * @brief Callback function signature for RD endpoint state synchronization + * + * The registered callback function is executed in the context of the dedicated + * standalone RD endpoint's thread. + * + * @param[in] t type of event + */ +typedef void(*cord_ep_standalone_cb_t)(cord_ep_standalone_event_t event); + +/** + * @brief Spawn a new thread that takes care of sending periodic updates to an + * active RD entry + * + * @warning This function must only be called once (typically during system + * initialization) + */ +void cord_ep_standalone_run(void); + +/** + * @brief Register a callback to be notified about RD endpoint state changes + * + * Only a single callback can be active at any point in time, so setting a new + * callback will override the existing one. + * + * @pre @p cb != NULL + * + * @param[in] cb callback to execute on RD endpoint state changes + */ +void cord_ep_standalone_reg_cb(cord_ep_standalone_cb_t cb); + +/** + * @brief Signal the cord_ep thread about connection status change + * + * @note This function should not be called by a user, but it is called from + * withing the cord_ep implementation + * + * @param[in] connected set to true if we are connected to a RD + */ +void cord_ep_standalone_signal(bool connected); + +#ifdef __cplusplus +} +#endif + +#endif /* NET_CORD_EP_STANDALONE_H */ +/** @} */ diff --git a/sys/include/net/rdcli_standalone.h b/sys/include/net/rdcli_standalone.h deleted file mode 100644 index a76041b882c0de1a0f57dc1fd50a241618aceb6e..0000000000000000000000000000000000000000 --- a/sys/include/net/rdcli_standalone.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2017-2018 Freie Universität Berlin - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @defgroup net_rdcli_standalone CoRE RD Standalone Extension - * @ingroup net_rdcli - * @brief Run CoRE Resource Directory client in standalone configuration - * - * This sub-module enables the CoRE RD client to manage is registration state - * with a server autonomously by periodically running the update procedure. This - * is implemented by running a dedicated thread. - * - * @{ - * - * @file - * @brief CoRE Resource Directory client standalone extension - * - * @author Hauke Petersen <hauke.petersen@fu-berlin.de> - */ - -#ifndef NET_RDCLI_STANDALONE_H -#define NET_RDCLI_STANDALONE_H - -#include "net/sock/udp.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Possible types of events triggered by the standalone rdcli module - */ -typedef enum { - RDCLI_REGISTERED, - RDCLI_DEREGISTERED, - RDCLI_UPDATED, -} rdcli_standalone_event_t; - -/** - * @brief Callback function signature for RD client state synchronization - * - * The registered callback function is executed in the context of the dedicated - * standalone RD client's thread. - * - * @param[in] t type of event - */ -typedef void(*rdcli_standalone_cb_t)(rdcli_standalone_event_t event); - -/** - * @brief Spawn a new thread that takes care of sending periodic updates to an - * active RD entry - * - * @note This function must only be called once (typically during system - * initialization) - */ -void rdcli_standalone_run(void); - -/** - * @brief Register a callback to be notified about RD client state changes - * - * Only a single callback can be active at any point in time, so setting a new - * callback will override the existing one. - * - * @pre @p cb != NULL - * - * @param[in] cb callback to execute on RD client state changes - */ -void rdcli_standalone_reg_cb(rdcli_standalone_cb_t cb); - -/** - * @brief Signal the rdcli thread about connection status change - * - * @note This function should not be called by a user, but it is called from - * withing the rdcli implementation - * - * @param[in] connected set to true if we are connected to a RD - */ -void rdcli_standalone_signal(bool connected); - -#ifdef __cplusplus -} -#endif - -#endif /* NET_RDCLI_STANDALONE_H */ -/** @} */ diff --git a/sys/net/application_layer/cord/ep/Makefile b/sys/net/application_layer/cord/ep/Makefile index 885829de201a766acb4b771fbd88aa9c1a814053..d64da730e74943255f6c15b1458db83a83a11f89 100644 --- a/sys/net/application_layer/cord/ep/Makefile +++ b/sys/net/application_layer/cord/ep/Makefile @@ -1,9 +1,9 @@ -MODULE = rdcli +MODULE = cord_ep -SRC = rdcli.c +SRC = cord_ep.c -ifneq (,$(filter rdcli_standalone,$(USEMODULE))) - SRC += rdcli_standalone.c +ifneq (,$(filter cord_ep_standalone,$(USEMODULE))) + SRC += cord_ep_standalone.c endif include $(RIOTBASE)/Makefile.base diff --git a/sys/net/application_layer/cord/ep/rdcli.c b/sys/net/application_layer/cord/ep/cord_ep.c similarity index 86% rename from sys/net/application_layer/cord/ep/rdcli.c rename to sys/net/application_layer/cord/ep/cord_ep.c index 517b423de658c8f6e8e558e4da77c474f8b2443f..a2ea5f28f257fe74cd81814ba6cc047dc3ccc297 100644 --- a/sys/net/application_layer/cord/ep/rdcli.c +++ b/sys/net/application_layer/cord/ep/cord_ep.c @@ -7,11 +7,11 @@ */ /** - * @ingroup net_rdcli + * @ingroup net_cord_ep * @{ * * @file - * @brief CoRE Resource Directory client implementation + * @brief CoRE Resource Directory endpoint implementation * * @author Hauke Petersen <hauke.petersen@fu-berlin.de> * @@ -20,18 +20,18 @@ #include <string.h> -#include "fmt.h" #include "mutex.h" +#include "assert.h" #include "thread_flags.h" #include "net/gcoap.h" #include "net/ipv6/addr.h" -#include "net/rdcli.h" +#include "net/cord/ep.h" #include "net/cord/common.h" #include "net/cord/config.h" -#ifdef MODULE_RDCLI_STANDALONE -#include "net/rdcli_standalone.h" +#ifdef MODULE_CORD_EP_STANDALONE +#include "net/cord/ep_standalone.h" #endif #define ENABLE_DEBUG (0) @@ -68,16 +68,16 @@ static int _sync(void) thread_flags_t flags = thread_flags_wait_any(FLAG_MASK); if (flags & FLAG_ERR) { - return RDCLI_ERR; + return CORD_EP_ERR; } else if (flags & FLAG_TIMEOUT) { - return RDCLI_TIMEOUT; + return CORD_EP_TIMEOUT; } else if (flags & FLAG_OVERFLOW) { - return RDCLI_OVERFLOW; + return CORD_EP_OVERFLOW; } else { - return RDCLI_OK; + return CORD_EP_OK; } } @@ -137,13 +137,13 @@ static int _update_remove(unsigned code, gcoap_resp_handler_t handle) coap_pkt_t pkt; if (_rd_loc[0] == 0) { - return RDCLI_NORD; + return CORD_EP_NORD; } /* build CoAP request packet */ int res = gcoap_req_init(&pkt, buf, sizeof(buf), code, _rd_loc); if (res < 0) { - return RDCLI_ERR; + return CORD_EP_ERR; } coap_hdr_set_type(pkt.hdr, COAP_TYPE_CON); ssize_t pkt_len = gcoap_finish(&pkt, 0, COAP_FORMAT_NONE); @@ -158,7 +158,7 @@ static int _update_remove(unsigned code, gcoap_resp_handler_t handle) static void _on_discover(unsigned req_state, coap_pkt_t *pdu, sock_udp_ep_t *remote) { - thread_flags_t flag = RDCLI_NORD; + thread_flags_t flag = CORD_EP_NORD; (void)remote; if (req_state == GCOAP_MEMO_RESP) { @@ -216,19 +216,19 @@ static int _discover_internal(const sock_udp_ep_t *remote, int res = gcoap_req_init(&pkt, buf, sizeof(buf), COAP_METHOD_GET, "/.well-known/core"); if (res < 0) { - return RDCLI_ERR; + return CORD_EP_ERR; } coap_hdr_set_type(pkt.hdr, COAP_TYPE_CON); gcoap_add_qstring(&pkt, "rt", "core.rd"); size_t pkt_len = gcoap_finish(&pkt, 0, COAP_FORMAT_NONE); res = gcoap_req_send2(buf, pkt_len, remote, _on_discover); if (res < 0) { - return RDCLI_ERR; + return CORD_EP_ERR; } return _sync(); } -int rdcli_discover_regif(const sock_udp_ep_t *remote, char *regif, size_t maxlen) +int cord_ep_discover_regif(const sock_udp_ep_t *remote, char *regif, size_t maxlen) { assert(remote && regif); @@ -238,7 +238,7 @@ int rdcli_discover_regif(const sock_udp_ep_t *remote, char *regif, size_t maxlen return res; } -int rdcli_register(const sock_udp_ep_t *remote, const char *regif) +int cord_ep_register(const sock_udp_ep_t *remote, const char *regif) { assert(remote); @@ -253,13 +253,13 @@ int rdcli_register(const sock_udp_ep_t *remote, const char *regif) * discovery for it first (see section 5.2) */ if (regif == NULL) { retval = _discover_internal(remote, _rd_regif, sizeof(_rd_regif)); - if (retval != RDCLI_OK) { + if (retval != CORD_EP_OK) { goto end; } } else { if (strlen(_rd_regif) >= sizeof(_rd_regif)) { - retval = RDCLI_OVERFLOW; + retval = CORD_EP_OVERFLOW; goto end; } strncpy(_rd_regif, regif, sizeof(_rd_regif)); @@ -268,7 +268,7 @@ int rdcli_register(const sock_udp_ep_t *remote, const char *regif) /* build and send CoAP POST request to the RD's registration interface */ res = gcoap_req_init(&pkt, buf, sizeof(buf), COAP_METHOD_POST, _rd_regif); if (res < 0) { - retval = RDCLI_ERR; + retval = CORD_EP_ERR; goto end; } /* set some packet options and write query string */ @@ -279,7 +279,7 @@ int rdcli_register(const sock_udp_ep_t *remote, const char *regif) res = gcoap_get_resource_list(pkt.payload, pkt.payload_len, COAP_FORMAT_LINK); if (res < 0) { - retval = RDCLI_ERR; + retval = CORD_EP_ERR; goto end; } @@ -289,19 +289,19 @@ int rdcli_register(const sock_udp_ep_t *remote, const char *regif) /* send out the request */ res = gcoap_req_send2(buf, pkt_len, remote, _on_register); if (res < 0) { - retval = RDCLI_ERR; + retval = CORD_EP_ERR; goto end; } retval = _sync(); end: - /* if we encountered any error, we mark the client as not connected */ - if (retval != RDCLI_OK) { + /* if we encountered any error, we mark the endpoint as not connected */ + if (retval != CORD_EP_OK) { _rd_loc[0] = '\0'; } -#ifdef MODULE_RDCLI_STANDALONE +#ifdef MODULE_CORD_EP_STANDALONE else { - rdcli_standalone_signal(true); + cord_ep_standalone_signal(true); } #endif @@ -309,14 +309,14 @@ end: return retval; } -int rdcli_update(void) +int cord_ep_update(void) { _lock(); int res = _update_remove(COAP_METHOD_POST, _on_update); - if (res != RDCLI_OK) { + if (res != CORD_EP_OK) { /* in case we are not able to reach the RD, we drop the association */ -#ifdef MODULE_RDCLI_STANDALONE - rdcli_standalone_signal(false); +#ifdef MODULE_CORD_EP_STANDALONE + cord_ep_standalone_signal(false); #endif _rd_loc[0] = '\0'; } @@ -324,25 +324,25 @@ int rdcli_update(void) return res; } -int rdcli_remove(void) +int cord_ep_remove(void) { _lock(); if (_rd_loc[0] == '\0') { mutex_unlock(&_mutex); - return RDCLI_NORD; + return CORD_EP_NORD; } -#ifdef MODULE_RDCLI_STANDALONE - rdcli_standalone_signal(false); +#ifdef MODULE_CORD_EP_STANDALONE + cord_ep_standalone_signal(false); #endif _update_remove(COAP_METHOD_DELETE, _on_remove); /* we actually do not care about the result, we drop the RD local RD entry * in any case */ _rd_loc[0] = '\0'; mutex_unlock(&_mutex); - return RDCLI_OK; + return CORD_EP_OK; } -void rdcli_dump_status(void) +void cord_ep_dump_status(void) { puts("CoAP RD connection status:"); diff --git a/sys/net/application_layer/cord/ep/rdcli_standalone.c b/sys/net/application_layer/cord/ep/cord_ep_standalone.c similarity index 73% rename from sys/net/application_layer/cord/ep/rdcli_standalone.c rename to sys/net/application_layer/cord/ep/cord_ep_standalone.c index 19002e2718b88b03846fb29556e02e8498c8d4f3..de2a58e405fcceea32904e187f0894f454899934 100644 --- a/sys/net/application_layer/cord/ep/rdcli_standalone.c +++ b/sys/net/application_layer/cord/ep/cord_ep_standalone.c @@ -7,11 +7,11 @@ */ /** - * @ingroup net_rdcli_simple + * @ingroup net_cord_ep_standalone * @{ * * @file - * @brief Standalone extension for the simple RD registration client + * @brief Standalone extension for the CoRE RD endpoint implementation * * @author Hauke Petersen <hauke.petersen@fu-berlin.de> * @@ -24,9 +24,9 @@ #include "assert.h" #include "thread.h" #include "xtimer.h" -#include "net/rdcli.h" +#include "net/cord/ep.h" #include "net/cord/config.h" -#include "net/rdcli_standalone.h" +#include "net/cord/ep_standalone.h" #define ENABLE_DEBUG (0) #include "debug.h" @@ -34,7 +34,7 @@ /* stack configuration */ #define STACKSIZE (THREAD_STACKSIZE_DEFAULT) #define PRIO (THREAD_PRIORITY_MAIN - 1) -#define TNAME "rdcli" +#define TNAME "cord_ep" #define UPDATE_TIMEOUT (0xe537) @@ -46,14 +46,14 @@ static xtimer_t _timer; static kernel_pid_t _runner_pid; static msg_t _msg; -static rdcli_standalone_cb_t _cb = NULL; +static cord_ep_standalone_cb_t _cb = NULL; static void _set_timer(void) { xtimer_set_msg64(&_timer, TIMEOUT_US, &_msg, _runner_pid); } -static void _notify(rdcli_standalone_event_t event) +static void _notify(cord_ep_standalone_event_t event) { if (_cb) { _cb(event); @@ -70,16 +70,14 @@ static void *_reg_runner(void *arg) _msg.type = UPDATE_TIMEOUT; while (1) { - DEBUG("rd stand: waiting for message\n"); msg_receive(&in); if (in.type == UPDATE_TIMEOUT) { - if (rdcli_update() == RDCLI_OK) { - DEBUG("rd stand: update ok\n"); + if (cord_ep_update() == CORD_EP_OK) { _set_timer(); - _notify(RDCLI_UPDATED); + _notify(CORD_EP_UPDATED); } else { - _notify(RDCLI_DEREGISTERED); + _notify(CORD_EP_DEREGISTERED); } } } @@ -87,25 +85,25 @@ static void *_reg_runner(void *arg) return NULL; /* should never be reached */ } -void rdcli_standalone_run(void) +void cord_ep_standalone_run(void) { thread_create(_stack, sizeof(_stack), PRIO, 0, _reg_runner, NULL, TNAME); } -void rdcli_standalone_signal(bool connected) +void cord_ep_standalone_signal(bool connected) { /* clear timer in any case */ xtimer_remove(&_timer); /* reset the update timer in case a connection was established or updated */ if (connected) { _set_timer(); - _notify(RDCLI_REGISTERED); + _notify(CORD_EP_REGISTERED); } else { - _notify(RDCLI_DEREGISTERED); + _notify(CORD_EP_DEREGISTERED); } } -void rdcli_standalone_reg_cb(rdcli_standalone_cb_t cb) +void cord_ep_standalone_reg_cb(cord_ep_standalone_cb_t cb) { /* Note: we do not allow re-setting the callback (via passing cb := NULL), * as this would mean additional complexity for synchronizing the