\section fishd fishd - Universal variable daemon \subsection fishd-synopsis Synopsis fishd [SECTION] \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:
set KEY:VALUE
set_export KEY:VALUE
These commands update the value of a variable. The only difference between the two is that set_export-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.
erase KEY
Erase the variable with the specified name.
barrier
barrier_reply
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.