summaryrefslogtreecommitdiff
path: root/doc/xs_zmq.txt
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2012-03-13 17:28:18 +0100
committerMartin Sustrik <sustrik@250bpm.com>2012-03-13 17:28:18 +0100
commit02c1655c4e88ac55da1bc6482bfeaaa32d066d1f (patch)
tree2577c7bd37d328882be763d9eed09f900b44e5e8 /doc/xs_zmq.txt
parent51160a668dbb2ec659a19ae9a1c6c4c28075c492 (diff)
parentc1729113ea21e7fd90b217e979e333a85e26dc9a (diff)
Merge branch 'doc-updates' of git.lucina.net:libxs
Diffstat (limited to 'doc/xs_zmq.txt')
-rw-r--r--doc/xs_zmq.txt123
1 files changed, 123 insertions, 0 deletions
diff --git a/doc/xs_zmq.txt b/doc/xs_zmq.txt
new file mode 100644
index 0000000..310ab64
--- /dev/null
+++ b/doc/xs_zmq.txt
@@ -0,0 +1,123 @@
+xs_zmq(7)
+=========
+
+
+NAME
+----
+xs_zmq - Crossroads I/O ZeroMQ compatibility library
+
+
+SYNOPSIS
+--------
+*#include <zmq.h>*
+
+*cc* ['flags'] 'files' *-lzmq* ['libraries']
+
+
+DESCRIPTION
+-----------
+This 'libzmq' compatibility library is provided by the Crossroads I/O project
+as a transitional drop-in replacement for existing applications and language
+bindings written for the ZeroMQ library.
+
+The intent is to ease transition of existing ZeroMQ applications and
+language bindings to Crossroads I/O, thus this feature will not be
+maintained indefinitely and developers are strongly encouraged to migrate
+their applications to native 'libxs' interfaces.
+
+'libzmq' interfaces provided emulate those provided by ZeroMQ release
+2.1.11, and binary compatibility is provided for ABI version 1.0.0.
+
+Existing applications can use these interfaces as a drop-in replacement for
+the ZeroMQ-provided 'libzmq' by installing the Crossroads version of this
+library in its place. Applications can also be recompiled against this
+library with no code or build system changes.
+
+IMPORTANT: The 'libzmq' compatibility library is an optional component of
+Crossroads I/O, and is only built and installed if your copy of the
+Crossroads library was configured with `--enable-libzmq` at build time.
+
+
+CONSTANTS
+---------
+
+All constants defined by the ZeroMQ 2.1.11 version of *<zmq.h>* are also
+defined in the Crossroads version.
+
+INTERFACES
+----------
+
+Context
+~~~~~~~
+[verse]
+*void *zmq_init (int 'io_threads');*
+*int zmq_term (void '*context');*
+
+
+Sockets
+~~~~~~~
+[verse]
+*void *zmq_socket (void '*context', int 'type');*
+*int zmq_close (void '*socket');*
+*int zmq_connect (void '*socket', const char '*endpoint');*
+*int zmq_bind (void '*socket', const char '*endpoint');*
+*int zmq_setsockopt (void '*socket', int 'option_name', const void '*option_value', size_t 'option_len');*
+*int zmq_getsockopt (void '*socket', int 'option_name', void '*option_value', size_t '*option_len');*
+*int zmq_poll (zmq_pollitem_t '*items', int 'nitems', long 'timeout');*
+
+
+Messages
+~~~~~~~~
+[verse]
+*int zmq_msg_init (zmq_msg_t '*msg');*
+*int zmq_msg_init_size (zmq_msg_t '*msg', size_t 'size');*
+*int zmq_msg_init_data (zmq_msg_t '*msg', void '*data', size_t 'size', zmq_free_fn '*ffn', void '*hint');*
+*int zmq_msg_close (zmq_msg_t '*msg');*
+*int zmq_msg_copy (zmq_msg_t '*dest', zmq_msg_t '*src');*
+*int zmq_msg_move (zmq_msg_t '*dest', zmq_msg_t '*src');*
+
+
+Sending and receiving
+~~~~~~~~~~~~~~~~~~~~~
+[verse]
+*int zmq_send (void '*socket', zmq_msg_t '*msg', int 'flags');*
+*int zmq_recv (void '*socket', zmq_msg_t '*msg', int 'flags');*
+
+
+Devices
+~~~~~~~
+[verse]
+*int zmq_device (int 'device', const void '*frontend', const void '*backend');*
+
+
+Error handling
+~~~~~~~~~~~~~~
+[verse]
+*int zmq_errno (void);*
+*const char *zmq_strerror (int 'errnum');*
+
+
+Version detection
+~~~~~~~~~~~~~~~~~
+[verse]
+*void zmq_version (int '*major', int '*minor', int '*patch');*
+
+NOTE: The version numbers returned by this function are the emulated ZeroMQ API
+version, i.e. 2.1.11.
+
+
+COPYING
+-------
+Free use of Crossroads library is granted under the terms of the GNU Lesser
+General Public License (LGPL). For details see the files `COPYING` and
+`COPYING.LESSER` included with the Crossroads distribution.
+
+SEE ALSO
+--------
+linkxs:xs[7]
+
+
+AUTHORS
+-------
+The Crossroads documentation was written by Martin Sustrik <sustrik@250bpm.com>
+and Martin Lucina <martin@lucina.net>.