<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
\begin{DoxyItemize}
\item infos = Information about the zeromqsend plugin is in keys below
\item infos/author = Thomas Wahringer \href{mailto:waht@libelektra.org}{\texttt{ waht@libelektra.\+org}}
\item infos/licence = BSD
\item infos/provides = notification
\item infos/needs =
\item infos/recommends =
\item infos/placements = postgetstorage postcommit
\item infos/status = maintained unittest libc global experimental
\item infos/description = Sends notifications over Zero\+Mq publish sockets when a key is changed
\end{DoxyItemize}\hypertarget{md_src_plugins_zeromqsend_README_src_plugins_zeromqsend_README_md}{}\doxysection{Introduction}\label{md_src_plugins_zeromqsend_README_src_plugins_zeromqsend_README_md}
This plugin is a notification plugin, which sends notifications using Zero\+Mq publish ({\ttfamily ZMQ\+\_\+\+PUB}) sockets when the key database (KDB) has been modified. It is compatible with the sending zeromqrecv plugin.\hypertarget{md_src_plugins_zeromqsend_README_autotoc_md658}{}\doxysection{Installation}\label{md_src_plugins_zeromqsend_README_autotoc_md658}
See \mbox{\hyperlink{doc_INSTALL_md}{installation}}. The package is called {\ttfamily libelektra5-\/zeromq}.\hypertarget{md_src_plugins_zeromqsend_README_autotoc_md659}{}\doxysection{Dependencies}\label{md_src_plugins_zeromqsend_README_autotoc_md659}

\begin{DoxyItemize}
\item {\ttfamily libzmq3-\/dev} (Zero\+MQ C bindings $&gt;$ 3.\+2)
\end{DoxyItemize}\hypertarget{md_src_plugins_zeromqsend_README_autotoc_md660}{}\doxysection{Usage}\label{md_src_plugins_zeromqsend_README_autotoc_md660}
The recommended way is to globally mount the plugin together with the zeromqrecv plugin\+:

\begin{quote}
kdb global-\/mount zeromqsend zeromqrecv \end{quote}
This plugin is designed to be used as a transport plugin for Elektra\textquotesingle{}s notification feature. Since Zero\+Mq creates threads for asynchronous I/O this plugin always operates asynchronously.

Since Zero\+MQ sockets only provide a 1\+:n mapping (i.\+e. one publisher with many subscribers or one subscriber and many publishers) the {\ttfamily zeromqsend} and {\ttfamily zeromqrecv} plugins require a XPUB/\+XSUB endpoint. The kdb tool \href{https://www.libelektra.org/tools/hub-zeromq}{\texttt{ \char`\"{}hub-\/zeromq\char`\"{}}} provides these endpoints.\hypertarget{md_src_plugins_zeromqsend_README_autotoc_md661}{}\doxysection{Transport Plugin}\label{md_src_plugins_zeromqsend_README_autotoc_md661}
Mount this plugin globally with default settings to use it as {\itshape sending} transport plugin for Elektra\textquotesingle{}s notification feature\+:

\begin{quote}
kdb global-\/mount zeromqsend \end{quote}
\hypertarget{md_src_plugins_zeromqsend_README_autotoc_md662}{}\doxysection{Configuration}\label{md_src_plugins_zeromqsend_README_autotoc_md662}
This plugin supports the following configuration options when mounting\+:


\begin{DoxyItemize}
\item {\bfseries{endpoint}}\+: Zero\+MQ XSUB or SUB socket to connect to. The \href{http://api.zeromq.org/4-2:zmq-ipc}{\texttt{ {\ttfamily ipc}}} and \href{http://api.zeromq.org/4-2:zmq-tcp}{\texttt{ {\ttfamily tcp}}} Zero\+MQ transports are recommended. The default value is \char`\"{}tcp\+://localhost\+:6000\char`\"{}.
\item {\bfseries{connect\+Timeout}}\+: Timeout for establishing connections in milliseconds. The default value is \char`\"{}1000\char`\"{}.
\item {\bfseries{subscribe\+Timeout}}\+: Timeout for waiting for subscribers in milliseconds. The default value is \char`\"{}200\char`\"{}.
\end{DoxyItemize}\hypertarget{md_src_plugins_zeromqsend_README_autotoc_md663}{}\doxysection{Notification Format}\label{md_src_plugins_zeromqsend_README_autotoc_md663}
The Zero\+MQ transport plugins use the publish/subscribe sockets ({\ttfamily ZMQ\+\_\+\+PUB} and {\ttfamily ZMQ\+\_\+\+SUB}) for notification transport.

Each notification is a multipart message. The first part contains the type of change, the second part contains the name of the changed key.

Possible only current change is {\ttfamily Commit}. </pre></body></html>