Commit 2673a84e authored by Martin Lucina's avatar Martin Lucina

Merge branch 'maint'

* maint:
  doc: Update zmq_socket(3) for 2.0.8 API changes
  Revert "Added man page for the zmq_device method"
  Revert "Added clean target that deletes generated man pages"
  Revert "Various changes to documentation project:"
  Revert "Reverting 'clean' change to Makefile"
  Revert "Removed empty man pages for old standalone devices"
  Revert "Further cleanups on reference manual"
  Revert "Small improvements to zmq_device(3) page"
  Revert "Removed wip zmq_deviced from master"
parents 0a1f7e35 ee3444ff
MAN1 = MAN1 = zmq_forwarder.1 zmq_streamer.1 zmq_queue.1
MAN3 = zmq_bind.3 zmq_close.3 zmq_connect.3 zmq_init.3 \ MAN3 = zmq_bind.3 zmq_close.3 zmq_connect.3 zmq_init.3 \
zmq_msg_close.3 zmq_msg_copy.3 zmq_msg_data.3 zmq_msg_init.3 \ zmq_msg_close.3 zmq_msg_copy.3 zmq_msg_data.3 zmq_msg_init.3 \
zmq_msg_init_data.3 zmq_msg_init_size.3 zmq_msg_move.3 zmq_msg_size.3 \ zmq_msg_init_data.3 zmq_msg_init_size.3 zmq_msg_move.3 zmq_msg_size.3 \
zmq_poll.3 zmq_recv.3 zmq_send.3 zmq_setsockopt.3 zmq_socket.3 \ zmq_poll.3 zmq_recv.3 zmq_send.3 zmq_setsockopt.3 zmq_socket.3 \
zmq_strerror.3 zmq_term.3 zmq_version.3 zmq_getsockopt.3 zmq_errno.3 \ zmq_strerror.3 zmq_term.3 zmq_version.3 zmq_getsockopt.3 zmq_errno.3
zmq_device.3
MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_epgm.7 zmq_inproc.7 zmq_ipc.7 \ MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_epgm.7 zmq_inproc.7 zmq_ipc.7 \
zmq_cpp.7 zmq_cpp.7
MAN_DOC = $(MAN1) $(MAN3) $(MAN7) MAN_DOC = $(MAN1) $(MAN3) $(MAN7)
......
...@@ -33,21 +33,6 @@ template::[header-declarations] ...@@ -33,21 +33,6 @@ template::[header-declarations]
<refname>{manname}</refname> <refname>{manname}</refname>
<refpurpose>{manpurpose}</refpurpose> <refpurpose>{manpurpose}</refpurpose>
</refnamediv> </refnamediv>
[footer]
<refsect1 id="_authors">
<title>AUTHORS</title>
<simpara>The 0MQ reference manual was written by Martin Lucina &lt;<ulink url="mailto:mato@kotelna.sk">mato@kotelna.sk</ulink>&gt;, Martin Sustrik &lt;<ulink url="mailto:sustrik@250bpm.com">sustrik@250bpm.com</ulink>&gt;, and Pieter Hintjens &lt;<ulink url="mailto:ph@imatix.com">ph@imatix.com</ulink>&gt;.</simpara>
</refsect1>
<refsect1 id="_resources">
<title>RESOURCES</title>
<simpara>Main web site: <ulink url="http://www.zeromq.org/">http://www.zeromq.org/</ulink></simpara>
<simpara>Report bugs to the 0MQ development mailing list: &lt;<ulink url="mailto:zeromq-dev@lists.zeromq.org">zeromq-dev@lists.zeromq.org</ulink>&gt;</simpara>
</refsect1>
<refsect1 id="_copyright">
<title>COPYRIGHT</title>
<simpara>Copyright (c) 2007-2010 iMatix Corporation and contributors. License LGPLv3+: GNU LGPL 3 or later &lt;<ulink url="http://gnu.org/licenses/lgpl.html">http://gnu.org/licenses/lgpl.html</ulink>&gt;. This is free software: you are free to change it and redistribute it. There is NO WARRANTY, to the extent permitted by law. For details see the files <literal>COPYING</literal> and <literal>COPYING.LESSER</literal> included with the 0MQ distribution.</simpara>
</refsect1>
</refentry>
endif::backend-docbook[] endif::backend-docbook[]
endif::doctype-manpage[] endif::doctype-manpage[]
......
...@@ -139,12 +139,20 @@ Local in-process (inter-thread) communication transport:: ...@@ -139,12 +139,20 @@ Local in-process (inter-thread) communication transport::
Devices Devices
~~~~~~~ ~~~~~~~
0MQ provides 'devices', which are building blocks that act as intermediate Apart from the 0MQ library the 0MQ distribution includes 'devices' which are
nodes in complex messaging topologies. Devices can act as brokers that other building blocks intended to serve as intermediate nodes in complex messaging
nodes connect to, proxies that connect through to other nodes, or any mix of topologies.
these two models.
You can start a device in an application thread, see linkzmq:zmq_device[3]. The following devices are provided:
Forwarder device for request-response messaging::
linkzmq:zmq_queue[1]
Forwarder device for publish-subscribe messaging::
linkzmq:zmq_forwarder[1]
Streamer device for parallelized pipeline messaging::
linkzmq:zmq_streamer[1]
ERROR HANDLING ERROR HANDLING
...@@ -191,3 +199,22 @@ Other language bindings ...@@ -191,3 +199,22 @@ Other language bindings
Other language bindings (Python, Ruby, Java and more) are provided by members Other language bindings (Python, Ruby, Java and more) are provided by members
of the 0MQ community and pointers can be found on the 0MQ website. of the 0MQ community and pointers can be found on the 0MQ website.
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
RESOURCES
---------
Main web site: <http://www.zeromq.org/>
Report bugs to the 0MQ development mailing list: <zeromq-dev@lists.zeromq.org>
COPYING
-------
Free use of this software 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 0MQ distribution.
...@@ -24,15 +24,10 @@ the underlying transport protocol selected. ...@@ -24,15 +24,10 @@ the underlying transport protocol selected.
The following transports are defined: The following transports are defined:
'inproc':: 'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7]
local in-process (inter-thread) communication transport, see 'ipc':: local inter-process communication transport, see linkzmq:zmq_ipc[7]
linkzmq:zmq_inproc[7] 'tcp':: unicast transport using TCP, see linkzmq:zmq_tcp[7]
'ipc':: 'pgm', 'epgm':: reliable multicast transport using PGM, see linkzmq:zmq_pgm[7]
local inter-process communication transport, see linkzmq:zmq_ipc[7]
'tcp'::
unicast transport using TCP, see linkzmq:zmq_tcp[7]
'pgm', 'epgm'::
reliable multicast transport using PGM, see linkzmq:zmq_pgm[7]
With the exception of 'ZMQ_PAIR' sockets, a single socket may be connected to With the exception of 'ZMQ_PAIR' sockets, a single socket may be connected to
multiple endpoints using _zmq_connect()_, while simultaneously accepting multiple endpoints using _zmq_connect()_, while simultaneously accepting
...@@ -75,8 +70,8 @@ assert (socket); ...@@ -75,8 +70,8 @@ assert (socket);
/* Bind it to a in-process transport with the address 'my_publisher' */ /* Bind it to a in-process transport with the address 'my_publisher' */
int rc = zmq_bind (socket, "inproc://my_publisher"); int rc = zmq_bind (socket, "inproc://my_publisher");
assert (rc == 0); assert (rc == 0);
/* Bind it to a TCP transport on port 5555 of all local interfaces */ /* Bind it to a TCP transport on port 5555 of the 'eth0' interface */
rc = zmq_bind (socket, "tcp://*:5555"); rc = zmq_bind (socket, "tcp://eth0:5555");
assert (rc == 0); assert (rc == 0);
---- ----
...@@ -87,3 +82,8 @@ linkzmq:zmq_connect[3] ...@@ -87,3 +82,8 @@ linkzmq:zmq_connect[3]
linkzmq:zmq_socket[3] linkzmq:zmq_socket[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -42,3 +42,7 @@ linkzmq:zmq_term[3] ...@@ -42,3 +42,7 @@ linkzmq:zmq_term[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -24,15 +24,10 @@ the underlying transport protocol selected. ...@@ -24,15 +24,10 @@ the underlying transport protocol selected.
The following transports are defined: The following transports are defined:
'inproc':: 'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7]
local in-process (inter-thread) communication transport, see 'ipc':: local inter-process communication transport, see linkzmq:zmq_ipc[7]
linkzmq:zmq_inproc[7] 'tcp':: unicast transport using TCP, see linkzmq:zmq_tcp[7]
'ipc':: 'pgm', 'epgm':: reliable multicast transport using PGM, see linkzmq:zmq_pgm[7]
local inter-process communication transport, see linkzmq:zmq_ipc[7]
'tcp'::
unicast transport using TCP, see linkzmq:zmq_tcp[7]
'pgm', 'epgm'::
reliable multicast transport using PGM, see linkzmq:zmq_pgm[7]
With the exception of 'ZMQ_PAIR' sockets, a single socket may be connected to With the exception of 'ZMQ_PAIR' sockets, a single socket may be connected to
multiple endpoints using _zmq_connect()_, while simultaneously accepting multiple endpoints using _zmq_connect()_, while simultaneously accepting
...@@ -86,3 +81,7 @@ linkzmq:zmq_socket[3] ...@@ -86,3 +81,7 @@ linkzmq:zmq_socket[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -206,3 +206,7 @@ SEE ALSO ...@@ -206,3 +206,7 @@ SEE ALSO
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
zmq_device(3)
=============
NAME
----
zmq_device - start built-in 0MQ device
SYNOPSIS
--------
*int zmq_device (int 'device', const void '*frontend', const void '*backend');*
DESCRIPTION
-----------
The _zmq_device()_ function starts a built-in 0MQ device. The 'device'
argument is one of:
'ZMQ_QUEUE'::
starts a queue device
'ZMQ_FORWARDER'::
starts a forwarder device
'ZMQ_STREAMER'::
starts a streamer device
The device connects a frontend socket to a backend socket. Conceptually, data
flows from frontend to backend. Depending on the socket types, replies may
flow in the opposite direction.
Before calling _zmq_device()_ you must set any socket options, and connect or
bind both frontend and backend sockets. The two conventional device models
are:
* proxy model - accept inward connections to frontend socket (by binding it to
an endpoint), and make onward connections through backend socket (connecting
to endpoints on other nodes). A proxy device model can fit well into an
existing topology.
* broker model - accept connections on both frontend and backend sockets (by
binding both to endpoints). A broker device model creates a star topology
where nodes can come and go at any time.
_zmq_device()_ runs in the current thread and returns only if/when the current
context is closed.
QUEUE DEVICE
------------
'ZMQ_QUEUE' creates a shared queue that collects requests from a set of
clients, and distributes these fairly among a set of services. Requests are
fair-queued from frontend connections and load-balanced between backend
connections. Replies automatically return to the client that made the original
request.
This device is part of the 'request-reply' pattern. The frontend speaks to
clients and the backend speaks to services. You should use 'ZMQ_QUEUE' with a
'ZMQ_XREP' socket for the frontend and a 'ZMQ_XREQ' socket for the backend.
Other combinations are not documented.
Refer to linkzmq:zmq_socket[3] for a description of these socket types.
FORWARDER DEVICE
----------------
'ZMQ_FORWARDER' collects messages from a set of publishers and forwards these
to a set of subscribers. You will generally use this to bridge networks, e.g.
read on TCP unicast and forward on multicast.
This device is part of the 'publish-subscribe' pattern. The frontend speaks to
publishers and the backend speaks to subscribers. You should use
'ZMQ_FORWARDER' with a 'ZMQ_SUB' socket for the frontend and a 'ZMQ_PUB' socket
for the backend. Other combinations are not documented.
Refer to linkzmq:zmq_socket[3] for a description of these socket types.
STREAMER DEVICE
---------------
'ZMQ_STREAMER' collects tasks from a set of pushers and forwards these to a set
of pullers. You will generally use this to bridge networks. Messages are
fair-queued from pushers and load-balanced to pullers.
This device is part of the 'pipeline' pattern. The frontend speaks to pushers
and the backend speaks to pullers. You should use 'ZMQ_STREAMER' with a
'ZMQ_PULL' socket for the frontend and a 'ZMQ_PUSH' socket for the backend.
Other combinations are not documented.
Refer to linkzmq:zmq_socket[3] for a description of these socket types.
RETURN VALUE
------------
The _zmq_device()_ function shall not return if successful. Otherwise it shall
return `-1` and set 'errno' to one of the values defined below.
ERRORS
------
*ETERM*::
The 0MQ 'context' associated with the specified 'frontend' or 'backend' was
terminated.
*EFAULT*::
The provided 'frontend' or 'backend' was not valid (NULL).
EXAMPLE
-------
.Creating a queue broker
----
// Create frontend and backend sockets
void *frontend = zmq_socket (context, ZMQ_XREP);
assert (backend);
void *backend = zmq_socket (context, ZMQ_XREQ);
assert (frontend);
// Bind both sockets to TCP ports
assert (zmq_bind (frontend, "tcp://*:5555") == 0);
assert (zmq_bind (backend, "tcp://*:5556") == 0);
// Start a queue device
zmq_device (ZMQ_QUEUE, frontend, backend);
----
.Creating a pubsub proxy
----
// Create frontend and backend sockets
void *frontend = zmq_socket (context, ZMQ_SUB);
assert (backend);
void *backend = zmq_socket (context, ZMQ_PUB);
assert (frontend);
// Connect frontend to publisher
assert (zmq_bind (frontend, "tcp://192.68.55.112:4444") == 0);
// Bind backend to TCP port
assert (zmq_bind (backend, "tcp://*:5556") == 0);
// Start a forwarder device
zmq_device (ZMQ_FORWARDER, frontend, backend);
----
SEE ALSO
--------
linkzmq:zmq_bind[3]
linkzmq:zmq_connect[3]
linkzmq:zmq_socket[3]
linkzmq:zmq[7]
...@@ -44,3 +44,7 @@ SEE ALSO ...@@ -44,3 +44,7 @@ SEE ALSO
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
zmq_forwarder(1)
================
NAME
----
zmq_forwarder - forwarding device for publish-subscribe messaging
SYNOPSIS
--------
To be written.
DESCRIPTION
-----------
To be written.
OPTIONS
-------
To be written.
SEE ALSO
--------
linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -70,7 +70,7 @@ ZMQ_SWAP: Retrieve disk offload size ...@@ -70,7 +70,7 @@ ZMQ_SWAP: Retrieve disk offload size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SWAP' option shall retrieve the disk offload (swap) size for the The 'ZMQ_SWAP' option shall retrieve the disk offload (swap) size for the
specified 'socket'. A socket which has 'ZMQ_SWAP' set to a non-zero value may specified 'socket'. A socket which has 'ZMQ_SWAP' set to a non-zero value may
exceed its high water mark; in this case outstanding messages shall be exceed it's high water mark; in this case outstanding messages shall be
offloaded to storage on disk rather than held in memory. offloaded to storage on disk rather than held in memory.
The value of 'ZMQ_SWAP' defines the maximum size of the swap space in bytes. The value of 'ZMQ_SWAP' defines the maximum size of the swap space in bytes.
...@@ -237,3 +237,7 @@ linkzmq:zmq_socket[3] ...@@ -237,3 +237,7 @@ linkzmq:zmq_socket[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -40,3 +40,7 @@ linkzmq:zmq[7] ...@@ -40,3 +40,7 @@ linkzmq:zmq[7]
linkzmq:zmq_term[3] linkzmq:zmq_term[3]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -83,3 +83,7 @@ linkzmq:zmq_pgm[7] ...@@ -83,3 +83,7 @@ linkzmq:zmq_pgm[7]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -74,3 +74,7 @@ linkzmq:zmq_pgm[7] ...@@ -74,3 +74,7 @@ linkzmq:zmq_pgm[7]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -48,3 +48,7 @@ linkzmq:zmq_msg_size[3] ...@@ -48,3 +48,7 @@ linkzmq:zmq_msg_size[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -50,3 +50,7 @@ linkzmq:zmq_msg_close[3] ...@@ -50,3 +50,7 @@ linkzmq:zmq_msg_close[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -42,3 +42,7 @@ linkzmq:zmq_msg_close[3] ...@@ -42,3 +42,7 @@ linkzmq:zmq_msg_close[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -59,3 +59,7 @@ linkzmq:zmq_msg_size[3] ...@@ -59,3 +59,7 @@ linkzmq:zmq_msg_size[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -74,3 +74,7 @@ linkzmq:zmq_msg_size[3] ...@@ -74,3 +74,7 @@ linkzmq:zmq_msg_size[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -52,3 +52,7 @@ linkzmq:zmq_msg_size[3] ...@@ -52,3 +52,7 @@ linkzmq:zmq_msg_size[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -45,3 +45,7 @@ linkzmq:zmq_msg_close[3] ...@@ -45,3 +45,7 @@ linkzmq:zmq_msg_close[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -42,3 +42,7 @@ linkzmq:zmq_msg_close[3] ...@@ -42,3 +42,7 @@ linkzmq:zmq_msg_close[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -55,7 +55,7 @@ and a port number. ...@@ -55,7 +55,7 @@ and a port number.
An 'interface' may be specified by either of the following: An 'interface' may be specified by either of the following:
* The interface name as defined by the operating system. * The interface name as defined by the operating system.
* The primary IPv4 address assigned to the interface, in its numeric * The primary IPv4 address assigned to the interface, in it's numeric
representation. representation.
NOTE: Interface names are not standardised in any way and should be assumed to NOTE: Interface names are not standardised in any way and should be assumed to
...@@ -63,7 +63,7 @@ be arbitrary and platform dependent. On Win32 platforms no short interface ...@@ -63,7 +63,7 @@ be arbitrary and platform dependent. On Win32 platforms no short interface
names exist, thus only the primary IPv4 address may be used to specify an names exist, thus only the primary IPv4 address may be used to specify an
'interface'. 'interface'.
A 'multicast address' is specified by an IPv4 multicast address in its numeric A 'multicast address' is specified by an IPv4 multicast address in it's numeric
representation. representation.
...@@ -151,4 +151,7 @@ linkzmq:zmq_ipc[7] ...@@ -151,4 +151,7 @@ linkzmq:zmq_ipc[7]
linkzmq:zmq_inproc[7] linkzmq:zmq_inproc[7]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -102,13 +102,13 @@ The provided 'items' was not valid (NULL). ...@@ -102,13 +102,13 @@ The provided 'items' was not valid (NULL).
EXAMPLE EXAMPLE
------- -------
.Polling indefinitely for input events on both a 0MQ socket and a TCP socket. .Polling indefinitely for input events on both a 0MQ socket and a standard socket.
---- ----
zmq_pollitem_t items [2]; zmq_pollitem_t items [2];
/* First item refers to 0MQ socket 'socket' */ /* First item refers to 0MQ socket 'socket' */
items[0].socket = socket; items[0].socket = socket;
items[0].events = ZMQ_POLLIN; items[0].events = ZMQ_POLLIN;
/* Second item refers to TCP socket 'fd' */ /* Second item refers to standard socket 'fd' */
items[1].socket = NULL; items[1].socket = NULL;
items[1].fd = fd; items[1].fd = fd;
items[1].events = ZMQ_POLLIN; items[1].events = ZMQ_POLLIN;
...@@ -129,3 +129,7 @@ linkzmq:zmq[7] ...@@ -129,3 +129,7 @@ linkzmq:zmq[7]
Your operating system documentation for the _poll()_ system call. Your operating system documentation for the _poll()_ system call.
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
zmq_queue(1)
============
NAME
----
zmq_queue - forwarding device for request-reply messaging
SYNOPSIS
--------
To be written.
DESCRIPTION
-----------
To be written.
OPTIONS
-------
To be written.
SEE ALSO
--------
linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -110,3 +110,7 @@ linkzmq:zmq_socket[7] ...@@ -110,3 +110,7 @@ linkzmq:zmq_socket[7]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -105,3 +105,7 @@ linkzmq:zmq_socket[7] ...@@ -105,3 +105,7 @@ linkzmq:zmq_socket[7]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -48,7 +48,7 @@ Applicable socket types:: all ...@@ -48,7 +48,7 @@ Applicable socket types:: all
ZMQ_SWAP: Set disk offload size ZMQ_SWAP: Set disk offload size
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 'ZMQ_SWAP' option shall set the disk offload (swap) size for the specified The 'ZMQ_SWAP' option shall set the disk offload (swap) size for the specified
'socket'. A socket which has 'ZMQ_SWAP' set to a non-zero value may exceed its 'socket'. A socket which has 'ZMQ_SWAP' set to a non-zero value may exceed it's
high water mark; in this case outstanding messages shall be offloaded to high water mark; in this case outstanding messages shall be offloaded to
storage on disk rather than held in memory. storage on disk rather than held in memory.
...@@ -269,3 +269,7 @@ linkzmq:zmq_socket[3] ...@@ -269,3 +269,7 @@ linkzmq:zmq_socket[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -223,13 +223,13 @@ to downstream pipeline _nodes_. Messages are load-balanced to all connected ...@@ -223,13 +223,13 @@ to downstream pipeline _nodes_. Messages are load-balanced to all connected
downstream _nodes_. The _zmq_recv()_ function is not implemented for this downstream _nodes_. The _zmq_recv()_ function is not implemented for this
socket type. socket type.
When a 'ZMQ_PUSH' socket enters an exceptional state due to having When a 'ZMQ_PUSH' socket enters an exceptional state due to having reached the
reached the high water mark for all downstream _nodes_, or if there are no high water mark for all downstream _nodes_, or if there are no downstream
downstream _nodes_ at all, then any linkzmq:zmq_send[3] operations on the _nodes_ at all, then any linkzmq:zmq_send[3] operations on the socket shall
socket shall block until the exceptional state ends or at least one downstream block until the exceptional state ends or at least one downstream _node_
_node_ becomes available for sending; messages are not discarded. becomes available for sending; messages are not discarded.
Deprecated alias: ZMQ_DOWNSTREAM. Deprecated alias: 'ZMQ_DOWNSTREAM'.
[horizontal] [horizontal]
.Summary of ZMQ_PUSH characteristics .Summary of ZMQ_PUSH characteristics
...@@ -243,12 +243,12 @@ ZMQ_HWM option action:: Block ...@@ -243,12 +243,12 @@ ZMQ_HWM option action:: Block
ZMQ_PULL ZMQ_PULL
^^^^^^^^ ^^^^^^^^
A socket of type 'ZMQ_PULL' is used by a pipeline _node_ to receive A socket of type 'ZMQ_PULL' is used by a pipeline _node_ to receive messages
messages from upstream pipeline _nodes_. Messages are fair-queued from among from upstream pipeline _nodes_. Messages are fair-queued from among all
all connected upstream _nodes_. The _zmq_send()_ function is not implemented connected upstream _nodes_. The _zmq_send()_ function is not implemented for
for this socket type. this socket type.
Deprecated alias: ZMQ_UPSTREAM. Deprecated alias: 'ZMQ_UPSTREAM'.
[horizontal] [horizontal]
.Summary of ZMQ_PULL characteristics .Summary of ZMQ_PULL characteristics
...@@ -317,3 +317,8 @@ linkzmq:zmq_send[3] ...@@ -317,3 +317,8 @@ linkzmq:zmq_send[3]
linkzmq:zmq_recv[3] linkzmq:zmq_recv[3]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
zmq_streamer(1)
===============
NAME
----
zmq_streamer - streamer device for parallelized pipeline messaging
SYNOPSIS
--------
To be written.
DESCRIPTION
-----------
To be written.
OPTIONS
-------
To be written.
SEE ALSO
--------
linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -49,3 +49,7 @@ SEE ALSO ...@@ -49,3 +49,7 @@ SEE ALSO
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -49,15 +49,15 @@ a colon and the TCP port number to use. ...@@ -49,15 +49,15 @@ a colon and the TCP port number to use.
A 'peer address' may be specified by either of the following: A 'peer address' may be specified by either of the following:
* The DNS name of the peer. * The DNS name of the peer.
* The IPv4 address of the peer, in its numeric representation. * The IPv4 address of the peer, in it's numeric representation.
WIRE FORMAT WIRE FORMAT
----------- -----------
0MQ messages are transmitted over TCP in frames consisting of an encoded 0MQ messages are transmitted over TCP in frames consisting of an encoded
'payload length', followed by a 'flags' field and the message body. The 'payload length', followed by a 'flags' field and the message body. The 'payload
'payload length' is defined as the combined length in octets of the message length' is defined as the combined length in octets of the message body and the
body and the 'flags' field. 'flags' field.
For frames with a 'payload length' not exceeding 254 octets, the 'payload For frames with a 'payload length' not exceeding 254 octets, the 'payload
length' shall be encoded as a single octet. The minimum valid 'payload length' length' shall be encoded as a single octet. The minimum valid 'payload length'
...@@ -156,3 +156,7 @@ linkzmq:zmq_inproc[7] ...@@ -156,3 +156,7 @@ linkzmq:zmq_inproc[7]
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -52,3 +52,8 @@ SEE ALSO ...@@ -52,3 +52,8 @@ SEE ALSO
linkzmq:zmq[7] linkzmq:zmq[7]
linkzmq:zmq_init[3] linkzmq:zmq_init[3]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
...@@ -47,3 +47,7 @@ SEE ALSO ...@@ -47,3 +47,7 @@ SEE ALSO
-------- --------
linkzmq:zmq[7] linkzmq:zmq[7]
AUTHORS
-------
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
Martin Lucina <mato@kotelna.sk>.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment