mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-19 00:46:05 +01:00
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"
This commit is contained in:
commit
2673a84e07
@ -1,10 +1,9 @@
|
||||
MAN1 =
|
||||
MAN1 = zmq_forwarder.1 zmq_streamer.1 zmq_queue.1
|
||||
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_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_strerror.3 zmq_term.3 zmq_version.3 zmq_getsockopt.3 zmq_errno.3 \
|
||||
zmq_device.3
|
||||
zmq_strerror.3 zmq_term.3 zmq_version.3 zmq_getsockopt.3 zmq_errno.3
|
||||
MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_epgm.7 zmq_inproc.7 zmq_ipc.7 \
|
||||
zmq_cpp.7
|
||||
MAN_DOC = $(MAN1) $(MAN3) $(MAN7)
|
||||
|
@ -33,21 +33,6 @@ template::[header-declarations]
|
||||
<refname>{manname}</refname>
|
||||
<refpurpose>{manpurpose}</refpurpose>
|
||||
</refnamediv>
|
||||
[footer]
|
||||
<refsect1 id="_authors">
|
||||
<title>AUTHORS</title>
|
||||
<simpara>The 0MQ reference manual was written by Martin Lucina <<ulink url="mailto:mato@kotelna.sk">mato@kotelna.sk</ulink>>, Martin Sustrik <<ulink url="mailto:sustrik@250bpm.com">sustrik@250bpm.com</ulink>>, and Pieter Hintjens <<ulink url="mailto:ph@imatix.com">ph@imatix.com</ulink>>.</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: <<ulink url="mailto:zeromq-dev@lists.zeromq.org">zeromq-dev@lists.zeromq.org</ulink>></simpara>
|
||||
</refsect1>
|
||||
<refsect1 id="_copyright">
|
||||
<title>COPYRIGHT</title>
|
||||
<simpara>Copyright (c) 2007-2010 iMatix Corporation and contributors. License LGPLv3+: GNU LGPL 3 or later <<ulink url="http://gnu.org/licenses/lgpl.html">http://gnu.org/licenses/lgpl.html</ulink>>. 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::doctype-manpage[]
|
||||
|
||||
|
37
doc/zmq.txt
37
doc/zmq.txt
@ -139,12 +139,20 @@ Local in-process (inter-thread) communication transport::
|
||||
|
||||
Devices
|
||||
~~~~~~~
|
||||
0MQ provides 'devices', which are building blocks that act as intermediate
|
||||
nodes in complex messaging topologies. Devices can act as brokers that other
|
||||
nodes connect to, proxies that connect through to other nodes, or any mix of
|
||||
these two models.
|
||||
Apart from the 0MQ library the 0MQ distribution includes 'devices' which are
|
||||
building blocks intended to serve as intermediate nodes in complex messaging
|
||||
topologies.
|
||||
|
||||
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
|
||||
@ -191,3 +199,22 @@ Other language bindings
|
||||
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.
|
||||
|
||||
|
||||
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.
|
||||
|
||||
The following transports are defined:
|
||||
|
||||
'inproc'::
|
||||
local in-process (inter-thread) communication transport, see
|
||||
linkzmq:zmq_inproc[7]
|
||||
'ipc'::
|
||||
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]
|
||||
'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7]
|
||||
'ipc':: 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
|
||||
multiple endpoints using _zmq_connect()_, while simultaneously accepting
|
||||
@ -75,8 +70,8 @@ assert (socket);
|
||||
/* Bind it to a in-process transport with the address 'my_publisher' */
|
||||
int rc = zmq_bind (socket, "inproc://my_publisher");
|
||||
assert (rc == 0);
|
||||
/* Bind it to a TCP transport on port 5555 of all local interfaces */
|
||||
rc = zmq_bind (socket, "tcp://*:5555");
|
||||
/* Bind it to a TCP transport on port 5555 of the 'eth0' interface */
|
||||
rc = zmq_bind (socket, "tcp://eth0:5555");
|
||||
assert (rc == 0);
|
||||
----
|
||||
|
||||
@ -87,3 +82,8 @@ linkzmq:zmq_connect[3]
|
||||
linkzmq:zmq_socket[3]
|
||||
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]
|
||||
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.
|
||||
|
||||
The following transports are defined:
|
||||
|
||||
'inproc'::
|
||||
local in-process (inter-thread) communication transport, see
|
||||
linkzmq:zmq_inproc[7]
|
||||
'ipc'::
|
||||
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]
|
||||
'inproc':: local in-process (inter-thread) communication transport, see linkzmq:zmq_inproc[7]
|
||||
'ipc':: 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
|
||||
multiple endpoints using _zmq_connect()_, while simultaneously accepting
|
||||
@ -86,3 +81,7 @@ linkzmq:zmq_socket[3]
|
||||
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
|
||||
linkzmq:zmq[7]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
|
||||
Martin Lucina <mato@kotelna.sk>.
|
||||
|
@ -1,143 +0,0 @@
|
||||
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
|
||||
linkzmq:zmq[7]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
|
||||
Martin Lucina <mato@kotelna.sk>.
|
||||
|
33
doc/zmq_forwarder.txt
Normal file
33
doc/zmq_forwarder.txt
Normal file
@ -0,0 +1,33 @@
|
||||
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
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
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
|
||||
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.
|
||||
|
||||
The value of 'ZMQ_SWAP' defines the maximum size of the swap space in bytes.
|
||||
@ -237,3 +237,7 @@ linkzmq:zmq_socket[3]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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]
|
||||
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.
|
||||
An 'interface' may be specified by either of the following:
|
||||
|
||||
* 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.
|
||||
|
||||
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
|
||||
names exist, thus only the primary IPv4 address may be used to specify an
|
||||
'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.
|
||||
|
||||
|
||||
@ -151,4 +151,7 @@ linkzmq:zmq_ipc[7]
|
||||
linkzmq:zmq_inproc[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).
|
||||
|
||||
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];
|
||||
/* First item refers to 0MQ socket 'socket' */
|
||||
items[0].socket = socket;
|
||||
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].fd = fd;
|
||||
items[1].events = ZMQ_POLLIN;
|
||||
@ -129,3 +129,7 @@ linkzmq:zmq[7]
|
||||
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>.
|
||||
|
33
doc/zmq_queue.txt
Normal file
33
doc/zmq_queue.txt
Normal file
@ -0,0 +1,33 @@
|
||||
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]
|
||||
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]
|
||||
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
|
||||
ZMQ_SWAP: Set disk offload size
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
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
|
||||
storage on disk rather than held in memory.
|
||||
|
||||
@ -269,3 +269,7 @@ linkzmq:zmq_socket[3]
|
||||
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
|
||||
downstream _nodes_. The _zmq_recv()_ function is not implemented for this
|
||||
socket type.
|
||||
|
||||
When a 'ZMQ_PUSH' socket enters an exceptional state due to having
|
||||
reached the high water mark for all downstream _nodes_, or if there are no
|
||||
downstream _nodes_ at all, then any linkzmq:zmq_send[3] operations on the
|
||||
socket shall block until the exceptional state ends or at least one downstream
|
||||
_node_ becomes available for sending; messages are not discarded.
|
||||
When a 'ZMQ_PUSH' socket enters an exceptional state due to having reached the
|
||||
high water mark for all downstream _nodes_, or if there are no downstream
|
||||
_nodes_ at all, then any linkzmq:zmq_send[3] operations on the socket shall
|
||||
block until the exceptional state ends or at least one downstream _node_
|
||||
becomes available for sending; messages are not discarded.
|
||||
|
||||
Deprecated alias: ZMQ_DOWNSTREAM.
|
||||
Deprecated alias: 'ZMQ_DOWNSTREAM'.
|
||||
|
||||
[horizontal]
|
||||
.Summary of ZMQ_PUSH characteristics
|
||||
@ -243,12 +243,12 @@ ZMQ_HWM option action:: Block
|
||||
|
||||
ZMQ_PULL
|
||||
^^^^^^^^
|
||||
A socket of type 'ZMQ_PULL' is used by a pipeline _node_ to receive
|
||||
messages from upstream pipeline _nodes_. Messages are fair-queued from among
|
||||
all connected upstream _nodes_. The _zmq_send()_ function is not implemented
|
||||
for this socket type.
|
||||
A socket of type 'ZMQ_PULL' is used by a pipeline _node_ to receive messages
|
||||
from upstream pipeline _nodes_. Messages are fair-queued from among all
|
||||
connected upstream _nodes_. The _zmq_send()_ function is not implemented for
|
||||
this socket type.
|
||||
|
||||
Deprecated alias: ZMQ_UPSTREAM.
|
||||
Deprecated alias: 'ZMQ_UPSTREAM'.
|
||||
|
||||
[horizontal]
|
||||
.Summary of ZMQ_PULL characteristics
|
||||
@ -317,3 +317,8 @@ linkzmq:zmq_send[3]
|
||||
linkzmq:zmq_recv[3]
|
||||
linkzmq:zmq[7]
|
||||
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
|
||||
Martin Lucina <mato@kotelna.sk>.
|
||||
|
33
doc/zmq_streamer.txt
Normal file
33
doc/zmq_streamer.txt
Normal file
@ -0,0 +1,33 @@
|
||||
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
|
||||
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.
|
||||
A 'peer address' may be specified by either of the following:
|
||||
|
||||
* 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
|
||||
-----------
|
||||
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' is defined as the combined length in octets of the message
|
||||
body and the 'flags' field.
|
||||
'payload length', followed by a 'flags' field and the message body. The 'payload
|
||||
length' is defined as the combined length in octets of the message body and the
|
||||
'flags' field.
|
||||
|
||||
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'
|
||||
@ -156,3 +156,7 @@ linkzmq:zmq_inproc[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
|
||||
linkzmq:zmq[7]
|
||||
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
|
||||
--------
|
||||
linkzmq:zmq[7]
|
||||
|
||||
AUTHORS
|
||||
-------
|
||||
The 0MQ documentation was written by Martin Sustrik <sustrik@250bpm.com> and
|
||||
Martin Lucina <mato@kotelna.sk>.
|
||||
|
Loading…
x
Reference in New Issue
Block a user