aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/fishd.txt
blob: 2c8901506efd5d43fc888e91c2a7ae9547bc9b1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

\section fishd fishd - Universal variable daemon

\subsection fishd-synopsis Synopsis
 <tt>fishd [SECTION]</tt>

\subsection fishd-description Description

The \c fishd daemon is used to load, save and distribute universal
variable information. fish automtically connects to fishd via a socket
on startup. If no instance of fishd is running, fish spawns a new
fishd instance. fishd will create a socket in /tmp, and wait for
incoming connections from universal variable clents, such as fish,
When no clients are connected, fishd will automatically shut down.

\subsection fishd-commands Commands

Fishd works by sending and recieving sommands. 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 beeing 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 recieved.

\subsection fishd-files Files

~/.fishd.HOSTNAME permenent storage location for universal variale
data. The data is stored as a set of \c set and \c set_export commands
such as would be parsed by fishd.