aboutsummaryrefslogtreecommitdiffhomepage
path: root/fishd.c
diff options
context:
space:
mode:
Diffstat (limited to 'fishd.c')
-rw-r--r--fishd.c33
1 files changed, 32 insertions, 1 deletions
diff --git a/fishd.c b/fishd.c
index 2a029746..ae4f74b3 100644
--- a/fishd.c
+++ b/fishd.c
@@ -2,10 +2,41 @@
The universal variable server. fishd is automatically started by fish
if a fishd server isn't already running. fishd reads any saved
-variables from ~/.fishd, and takes care of commonication between fish
+variables from ~/.fishd, and takes care of communication between fish
instances. When no clients are running, fishd will automatically shut
down and save.
+\subsection fishd-commands Commands
+
+Fishd works by sending and receiving commands. Each command is ended
+with a newline. These are the commands supported by fishd:
+
+<pre>set KEY:VALUE
+set_export KEY:VALUE
+</pre>
+
+These commands update the value of a variable. The only difference
+between the two is that <tt>set_export</tt>-variables should be
+exported to children of the process using them. The variable value may
+be escaped using C-style backslash escapes. In fact, this is required
+for newline characters, which would otherwise be interpreted as end of
+command.
+
+<pre>erase KEY
+</pre>
+
+Erase the variable with the specified name.
+
+<pre>barrier
+barrier_reply
+</pre>
+
+A \c barrier command will result in a barrier_reply being added to
+the end of the senders queue of unsent messages. These commands are
+used to synchronize clients, since once the reply for a barrier
+message returns, the sender can know that any updates available at the
+time the original barrier request was sent have been received.
+
*/
#include "config.h"