[riot-notifications] [RIOT-OS/RIOT] doc/memos: RDM Runtime Configuration Architecture (#10622)

José Alamos notifications at github.com
Wed Jan 2 14:37:23 CET 2019


jia200x commented on this pull request.



> +- A list of Registry Handlers
+- A list of one or more Storage Facilities sources
+- One Storage destination
+
+# 4. Registry handlers
+A Registry Handler represents a configuration group in the RIOT Registry.
+Examples of configuration groups could be _Application_, _LoRaWAN keys_, etc.
+
+A Registry Handler is defined at least by a name and a series of handlers for interacting with the configuration parameters of the group. These handlers are:
+- `set`: Sets a value to a configuration parameter. This handler MUST take care
+of any logic to apply the value (e.g. data validation) or cache it until the commit handler is called
+- `get`: Gets the current value of a configuration parameter
+- `commit`: To be called when configuration parameters have been loaded from storage. It could be use for special needed logic on applying configuration parameters (e.g dependencies)
+- `export`: Calls an `export function` for each configuration parameter, with
+its name and value. Depending on the behavior of `export function`, this can be used for printing out all configurations, saving them in a persistent storage,
+etc.

A developer should not call registry handlers by hand but use the orchestrator on top (Registry). Although they have a similar API, they are not intended to be used in the same way.

Think e.g about `netdev` and `netapi`. A developer would call `gnrc_netapi_send` to send a packet. `netdev->send` will be called as a result, but not intended to be called in higher layers.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/10622#discussion_r244737261
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190102/ab60fe70/attachment-0001.html>


More information about the notifications mailing list