summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki2016-07-01 13:20:17 +0000
committerJohn Crispin2016-07-01 13:36:21 +0000
commit3daabd37cd7e6193ca782f34071dfdb292f726a2 (patch)
treeaf71b89410c33e245a0c6f9c4fa980bc706efcc4
parentecc7ef9d141aff303f8c597c48e641ed84edd14a (diff)
downloadweb-3daabd37cd7e6193ca782f34071dfdb292f726a2.tar.gz
docs: add page with basic rpcd info
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
-rw-r--r--_includes/docs_nav.html1
-rw-r--r--docs/rpcd.txt14
2 files changed, 15 insertions, 0 deletions
diff --git a/_includes/docs_nav.html b/_includes/docs_nav.html
index 6679e87..8967779 100644
--- a/_includes/docs_nav.html
+++ b/_includes/docs_nav.html
@@ -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
index 0000000..2166661
--- /dev/null
+++ b/docs/rpcd.txt
@@ -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.