diff --git a/sys/Makefile b/sys/Makefile index 9d63db742c4f4c5108e8b7cff43d02e15120a2c9..871f33f26c325af7352513d133ab0a0c0642ceb7 100644 --- a/sys/Makefile +++ b/sys/Makefile @@ -128,13 +128,13 @@ ifneq (,$(filter skald,$(USEMODULE))) DIRS += net/skald endif ifneq (,$(filter rdcli_common,$(USEMODULE))) - DIRS += net/application_layer/rdcli_common + DIRS += net/application_layer/cord/common endif ifneq (,$(filter rdcli_simple,$(USEMODULE))) - DIRS += net/application_layer/rdcli_simple + DIRS += net/application_layer/cord/epsim endif ifneq (,$(filter rdcli,$(USEMODULE))) - DIRS += net/application_layer/rdcli + DIRS += net/application_layer/cord/ep endif diff --git a/sys/net/application_layer/rdcli_common/Makefile b/sys/net/application_layer/cord/common/Makefile similarity index 59% rename from sys/net/application_layer/rdcli_common/Makefile rename to sys/net/application_layer/cord/common/Makefile index 48422e909a47d7cd428d10fa73825060ccc8d8c2..6ac70df22bc47889895649c249a9fd9ca12427e0 100644 --- a/sys/net/application_layer/rdcli_common/Makefile +++ b/sys/net/application_layer/cord/common/Makefile @@ -1 +1,3 @@ +MODULE = rdcli_common + include $(RIOTBASE)/Makefile.base diff --git a/sys/net/application_layer/rdcli_common/rdcli_common.c b/sys/net/application_layer/cord/common/rdcli_common.c similarity index 100% rename from sys/net/application_layer/rdcli_common/rdcli_common.c rename to sys/net/application_layer/cord/common/rdcli_common.c diff --git a/sys/net/application_layer/cord/doc.txt b/sys/net/application_layer/cord/doc.txt new file mode 100644 index 0000000000000000000000000000000000000000..c136144d3aad83e2125937a175eaf5aaeefcba22 --- /dev/null +++ b/sys/net/application_layer/cord/doc.txt @@ -0,0 +1,65 @@ +/* + * Copyright (C) 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 CoRE RD Endpoint and Lookup Client + * @ingroup net + * @brief Library for interacting as endpoint and lookup client with CoRE + * Resource Directories + * + * # About + * The `cord` ([Co]RE [R]esource [D]irectory) module provides endpoint and + * lookup client functionality for interacting with CoRE Resource Directories + * (RDs) as defined in `draft-ietf-core-resource-directory-15`. + * + * @see https://tools.ietf.org/html/draft-ietf-core-resource-directory-15 + * + * `draft-ietf-core-resource-directory-15` defines two types different roles for + * nodes when interacting with a RD: + * - `endpoint`: registers and manages entries at the RD + * - `client`: performs different kind of lookups + * + * ``` + * Registration Lookup, Group + * Interface Interfaces + * +----+ | | + * | EP |---- | | + * +----+ ---- | | + * --|- +------+ | + * +----+ | ----| | | +--------+ + * | EP | ---------|-----| RD |----|-----| Client | + * +----+ | ----| | | +--------+ + * --|- +------+ | + * +----+ ---- | | + * | EP |---- | | + * +----+ + * ``` + * Figure copied form `draft-ietf-core-resource-directory-15`. + * + * @note In the context of this module, we refer to these roles as `endpoint + * (ep)` and `lookup client (lc)`. This should hopefully prevent some + * confusion in conjunction with the `client` and `server` roles as + * defined by CoAP. + * + * # Structure + * + * This module is structured in a number of submodules with goal to reflect the + * different roles described in `draft-ietf-core-resource-directory-15`: + * + * - `cord_ep`: standard endpoint implementation following the rules as + * defined i.a. in sections 5.2, 5.3, A.1, and A.2 + * - `cord_epsim`: endpoint implementation following the simple registration + * procedure as defined in section 5.3.1 + * - `cord_lc`: lookup client implementation for querying information from + * an RD using the lookup and group interfaces (**NOT + * YET IMPLEMENTED**) + * - `cord_config`: header file collection (default) configuration values used + * throughout this module + * - `cord_common`: shared functionality used by the above submodules + * + */ diff --git a/sys/net/application_layer/rdcli/Makefile b/sys/net/application_layer/cord/ep/Makefile similarity index 89% rename from sys/net/application_layer/rdcli/Makefile rename to sys/net/application_layer/cord/ep/Makefile index 3b2e7e88b2c7863e573a6540af83ffafe93aedcb..885829de201a766acb4b771fbd88aa9c1a814053 100644 --- a/sys/net/application_layer/rdcli/Makefile +++ b/sys/net/application_layer/cord/ep/Makefile @@ -1,3 +1,5 @@ +MODULE = rdcli + SRC = rdcli.c ifneq (,$(filter rdcli_standalone,$(USEMODULE))) diff --git a/sys/net/application_layer/rdcli/rdcli.c b/sys/net/application_layer/cord/ep/rdcli.c similarity index 100% rename from sys/net/application_layer/rdcli/rdcli.c rename to sys/net/application_layer/cord/ep/rdcli.c diff --git a/sys/net/application_layer/rdcli/rdcli_standalone.c b/sys/net/application_layer/cord/ep/rdcli_standalone.c similarity index 100% rename from sys/net/application_layer/rdcli/rdcli_standalone.c rename to sys/net/application_layer/cord/ep/rdcli_standalone.c diff --git a/sys/net/application_layer/rdcli_simple/Makefile b/sys/net/application_layer/cord/epsim/Makefile similarity index 87% rename from sys/net/application_layer/rdcli_simple/Makefile rename to sys/net/application_layer/cord/epsim/Makefile index 997bf2fc8045f3a44e422ea43e69a36811539e1e..db17736b3c4a0d2d27a4c1c5a5a4fe5aa4cf7d5d 100644 --- a/sys/net/application_layer/rdcli_simple/Makefile +++ b/sys/net/application_layer/cord/epsim/Makefile @@ -1,3 +1,5 @@ +MODULE = rdcli_simple + SRC = rdcli_simple.c ifneq (,$(filter rdcli_simple_standalone,$(USEMODULE))) diff --git a/sys/net/application_layer/rdcli_simple/rdcli_simple.c b/sys/net/application_layer/cord/epsim/rdcli_simple.c similarity index 100% rename from sys/net/application_layer/rdcli_simple/rdcli_simple.c rename to sys/net/application_layer/cord/epsim/rdcli_simple.c diff --git a/sys/net/application_layer/rdcli_simple/rdcli_simple_standalone.c b/sys/net/application_layer/cord/epsim/rdcli_simple_standalone.c similarity index 100% rename from sys/net/application_layer/rdcli_simple/rdcli_simple_standalone.c rename to sys/net/application_layer/cord/epsim/rdcli_simple_standalone.c