Skip to content
Snippets Groups Projects
Commit f0b0e252 authored by Hauke Petersen's avatar Hauke Petersen
Browse files

net/rdcli: new module structure and high-level doc

parent 917548f3
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
MODULE = rdcli_common
include $(RIOTBASE)/Makefile.base
/*
* 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
*
*/
MODULE = rdcli
SRC = rdcli.c
ifneq (,$(filter rdcli_standalone,$(USEMODULE)))
......
MODULE = rdcli_simple
SRC = rdcli_simple.c
ifneq (,$(filter rdcli_simple_standalone,$(USEMODULE)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment