docs: add page with basic rpcd info
authorRafał Miłecki <zajec5@gmail.com>
Fri, 1 Jul 2016 13:20:17 +0000 (15:20 +0200)
committerJohn Crispin <john@phrozen.org>
Fri, 1 Jul 2016 13:36:21 +0000 (15:36 +0200)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
_includes/docs_nav.html
docs/rpcd.txt [new file with mode: 0644]

index 6679e87cb02b867608878399f9022dfb7694293b..8967779f8c6f2d2ea3d74d72c04bc7406451916a 100644 (file)
@@ -6,6 +6,7 @@
             <li{% if page.url == '/docs/config.html' %} class="active"{% endif %}><a href="config.html">Configuration</a></li>
             <li{% if page.url == '/docs/ubus.html' %} class="active"{% endif %}><a href="ubus.html">uBus</a></li>
             <li{% if page.url == '/docs/procd.html' %} class="active"{% endif %}><a href="procd.html">Procd</a></li>
+            <li{% if page.url == '/docs/rpcd.html' %} class="active"{% endif %}><a href="rpcd.html">rpcd</a></li>
             <li{% if page.url == '/docs/uci.html' %} class="active"{% endif %}><a href="uci.html">UCI Document</a></li>
             <ul class="sectlevel0">
                 <li{% if page.url == '/docs/uci_dnsmasq.html' %} class="active"{% endif %}><a href="uci_dnsmasq.html">DHCP</a></li>
diff --git a/docs/rpcd.txt b/docs/rpcd.txt
new file mode 100644 (file)
index 0000000..2166661
--- /dev/null
@@ -0,0 +1,14 @@
+---
+---
+RPC daemon
+========================
+
+== RPC daemon
+
+In 'LEDE' we commonly use 'ubus' for all kinds of communication. It can provide info from various software as well as request various actions. Nevertheless, not every part of 'LEDE' has a deamon that can register itself using 'ubus'. For an example 'uci' and 'opkg' are command-line tools without any background process running all the time.
+
+It would be not efficient to write a deamon for every software like this and run them independently. This is why 'rpcd' was developed. It's a tiny deamon with support for plugins using trivial 'API'. It loads library `.so` files and calls init function of each of them.
+
+=== Default plugins
+
+There are few small plugins distributed with the 'rpcd' sources. Two of them ('session' and 'uci') are built-in, others are optional and have to be build as separated `.so` libraries. Apart from that there are other projects providing their own plugins.