From 83d253d72d4fe83f4a001a7cfb4059ccc52b04e0 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 15:51:09 +0200 Subject: Revert "Removed wip zmq_deviced from master" This reverts commit de0173754cc82f6c08875a892892f043a804554c. --- doc/Makefile.am | 2 +- doc/zmq.txt | 4 +- doc/zmq_deviced.txt | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 doc/zmq_deviced.txt (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index 05cb3dc..44dcfdf 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,4 @@ -MAN1 = +MAN1 = zmq_deviced.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 \ diff --git a/doc/zmq.txt b/doc/zmq.txt index 362f907..54c7ba1 100644 --- a/doc/zmq.txt +++ b/doc/zmq.txt @@ -144,7 +144,9 @@ 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. -You can start a device in an application thread, see linkzmq:zmq_device[3]. +You can start a device in an application thread, see linkzmq:zmq_device[3], +and you can also start devices externally, as standalone processes, see +linkzmq:zmq_deviced[1]. ERROR HANDLING diff --git a/doc/zmq_deviced.txt b/doc/zmq_deviced.txt new file mode 100644 index 0000000..fd94c96 --- /dev/null +++ b/doc/zmq_deviced.txt @@ -0,0 +1,145 @@ +zmq_deviced(1) +============== + +NAME +---- +zmq_deviced - start built-in 0MQ devices + +SYNOPSIS +-------- + +*zmq_deviced _DEVICE_ _FRONTEND_ _BACKEND_* + +*zmq_deviced [_CONFIGFILE_]* + +DESCRIPTION +----------- +Starts one or more 0MQ devices. If you specify a DEVICE, FRONTEND, and BACKEND +then _zmq_device_ starts a single device acting as a mini-broker. If you +specify a CONFIGFILE, you can configure _zmq_device_ to start multiple +concurrent devices with arbitrary configurations. + +*Note* - zmq_deviced is not yet implemented. This is a design. + +MINI-BROKER USAGE +----------------- +Runs as a mini-broker that accepts connects to both frontend and backend. This +creates a hub-and-spoke topology in which all peers connect to the device. This +is a robust and easy to manage topology. + +DEVICE is one of: *queue*, *forwarder*, or *streamer*. See +linkzmq:zmq_device[3] for a specification of these device types. + +FRONTEND and BACKEND are endpoints in the format 'transport'`://`'address', See +linkzmq:zmq_bind[3] for a specification of valid transports and addresses. + + +CONFIGURED USAGE +---------------- +CONFIGFILE is the name of an XML file, readable by 'zmq_device'. This file +provides a specification of the devices to start and how to connect and/or bind +their frontends and backends. If CONFIGFILE is absent or *-* then the +configuration is read from standard input. + +The configuration file has this general syntax: + +---- + + + + + ... + ... + ... + + + ... + ... + ... + + + +---- + +*iothreads*:: + specifies the number of I/O threads for the process. Specify this only for + high-volume scenarios. See linkzmq:zmq_init[3]. +*device*:: + defines one device. For each device element you define, 'zmq_device' will + start a thread. +*frontend*:: + defines the frontend for the device. Occurs once per device element. You + may override the default socket type. +*backend*:: + defines the backend for the device. Occurs once per device element. You +may override the default socket type. +*set*:: + defines a socket option for the frontend or backend. The valid names are + *hwm*, *swap*, *identity*, *subscribe*, *unsubscribe*, *rate*, + *recovery_ivl*, *mcast_loop*, *sndbuf*, and *rcvbuf*. See + linkzmq:zmq_setsockopt[3]. +*bind*:: + binds the frontend or backend to the specified endpoint. See + linkzmq:zmq_bind[3]. +*connect*:: + binds the frontend or backend to the specified endpoint. See + linkzmq:zmq_connect[3]. + +SOCKET TYPES +------------ + +By default 'zmq_device' uses these socket types: + +*queue* device:: + frontend is *xrep*, backend is *xreq*. +*forwarder* device:: + frontend is *sub*, backend is *pub*. +*streamer* device:: + frontend is *pull*, backend is *push*. + +You can override the socket type for frontend or backend. The valid types are: +*req*, *rep*, *xreq*, *xrep*, *sub*, *pub*, *pull*, *push*, and *pair*. See +linkzmq:zmq_socket[3]. + +*Note*: if you use a *sub* socket you must explicitly set a subscription filter +or your socket will not receive any data. + + +EXAMPLE +------- + +.Creating a queue broker +---- +zmq_device queue tcp://*:5050 tcp://*:5051 +---- + +.A TCP-to-multicast proxy forwarder +---- +zmq_device - + + + + + + + + + + + + + + + + +---- + + +SEE ALSO +-------- +linkzmq:zmq_device[3] +linkzmq:zmq_init[3] +linkzmq:zmq_setsockopt[3] +linkzmq:zmq_bind[3] +linkzmq:zmq_connect[3] +linkzmq:zmq[7] -- cgit v1.2.3 From 6647e61243fdfbdc600ef3bfbd15b7c2ca6e853e Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 15:51:40 +0200 Subject: Revert "Small improvements to zmq_device(3) page" This reverts commit 96bcc9e6cf73781c31042278eb960c0363a78805. --- doc/zmq_device.txt | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) (limited to 'doc') diff --git a/doc/zmq_device.txt b/doc/zmq_device.txt index d5d7a18..6026559 100644 --- a/doc/zmq_device.txt +++ b/doc/zmq_device.txt @@ -31,13 +31,16 @@ 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. +*proxy*:: + bind frontend socket to an endpoint, and connect backend socket to + downstream components. A proxy device model does not require changes to + the downstream topology but that topology is static (any changes require + reconfiguring the device). +*broker*:: + bind frontend socket to one endpoint and bind backend socket to a second + endpoint. Downstream components must now connect into the device. A + broker device model allows a dynamic downstream topology (components can + come and go at any time). _zmq_device()_ runs in the current thread and returns only if/when the current context is closed. @@ -118,21 +121,6 @@ assert (zmq_bind (backend, "tcp://*:5556") == 0); 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 -------- -- cgit v1.2.3 From 6c393f53e28f41118eed9a8d034d8d46f2555572 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 15:54:34 +0200 Subject: Revert "Further cleanups on reference manual" This reverts commit 13f3481e127a6b2390e847af6b01ee88f1b4ae61. Conflicts: doc/zmq_device.txt doc/zmq_tcp.txt --- doc/zmq.txt | 22 +++++++++++------- doc/zmq_bind.txt | 13 ++++------- doc/zmq_connect.txt | 13 ++++------- doc/zmq_device.txt | 60 ++++++++++++-------------------------------------- doc/zmq_deviced.txt | 50 ++++++++++++----------------------------- doc/zmq_getsockopt.txt | 2 +- doc/zmq_pgm.txt | 4 ++-- doc/zmq_poll.txt | 4 ++-- doc/zmq_setsockopt.txt | 2 +- doc/zmq_tcp.txt | 8 +++---- 10 files changed, 60 insertions(+), 118 deletions(-) (limited to 'doc') diff --git a/doc/zmq.txt b/doc/zmq.txt index 54c7ba1..d8f398e 100644 --- a/doc/zmq.txt +++ b/doc/zmq.txt @@ -139,14 +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. - -You can start a device in an application thread, see linkzmq:zmq_device[3], -and you can also start devices externally, as standalone processes, see -linkzmq:zmq_deviced[1]. +Apart from the 0MQ library the 0MQ distribution includes 'devices' which are +building blocks intended to serve as intermediate nodes in complex messaging +topologies. + +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 diff --git a/doc/zmq_bind.txt b/doc/zmq_bind.txt index 5eb1bcf..3ad62e7 100644 --- a/doc/zmq_bind.txt +++ b/doc/zmq_bind.txt @@ -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 diff --git a/doc/zmq_connect.txt b/doc/zmq_connect.txt index 5634bbf..4476d3d 100644 --- a/doc/zmq_connect.txt +++ b/doc/zmq_connect.txt @@ -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 diff --git a/doc/zmq_device.txt b/doc/zmq_device.txt index 6026559..10d7445 100644 --- a/doc/zmq_device.txt +++ b/doc/zmq_device.txt @@ -13,8 +13,7 @@ SYNOPSIS DESCRIPTION ----------- -The _zmq_device()_ function starts a built-in 0MQ device. The 'device' -argument is one of: +The _zmq_device()_ function starts a built-in 0MQ device. The 'device' argument is one of: 'ZMQ_QUEUE':: starts a queue device @@ -23,86 +22,55 @@ argument is one of: '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. +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: +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*:: - bind frontend socket to an endpoint, and connect backend socket to - downstream components. A proxy device model does not require changes to - the downstream topology but that topology is static (any changes require - reconfiguring the device). + bind frontend socket to an endpoint, and connect backend socket to downstream components. A proxy device model does not require changes to the downstream topology but that topology is static (any changes require reconfiguring the device). *broker*:: - bind frontend socket to one endpoint and bind backend socket to a second - endpoint. Downstream components must now connect into the device. A - broker device model allows a dynamic downstream topology (components can - come and go at any time). + bind frontend socket to one endpoint and bind backend socket to a second endpoint. Downstream components must now connect into the device. A broker device model allows a dynamic downstream topology (components can come and go at any time). -_zmq_device()_ runs in the current thread and returns only if/when the current -context is closed. +_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. +'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. +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. +'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. +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. +'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. +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 ------------ +<<<<<<< HEAD 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). +The _zmq_device()_ function always returns `-1` and 'errno' set to *ETERM* (the 0MQ 'context' associated with either of the specified sockets was terminated). EXAMPLE diff --git a/doc/zmq_deviced.txt b/doc/zmq_deviced.txt index fd94c96..e5ba83f 100644 --- a/doc/zmq_deviced.txt +++ b/doc/zmq_deviced.txt @@ -14,32 +14,22 @@ SYNOPSIS DESCRIPTION ----------- -Starts one or more 0MQ devices. If you specify a DEVICE, FRONTEND, and BACKEND -then _zmq_device_ starts a single device acting as a mini-broker. If you -specify a CONFIGFILE, you can configure _zmq_device_ to start multiple -concurrent devices with arbitrary configurations. +Starts one or more 0MQ devices. If you specify a DEVICE, FRONTEND, and BACKEND then _zmq_device_ starts a single device acting as a mini-broker. If you specify a CONFIGFILE, you can configure _zmq_device_ to start multiple concurrent devices with arbitrary configurations. *Note* - zmq_deviced is not yet implemented. This is a design. MINI-BROKER USAGE ----------------- -Runs as a mini-broker that accepts connects to both frontend and backend. This -creates a hub-and-spoke topology in which all peers connect to the device. This -is a robust and easy to manage topology. +Runs as a mini-broker that accepts connects to both frontend and backend. This creates a hub-and-spoke topology in which all peers connect to the device. This is a robust and easy to manage topology. -DEVICE is one of: *queue*, *forwarder*, or *streamer*. See -linkzmq:zmq_device[3] for a specification of these device types. +DEVICE is one of: *queue*, *forwarder*, or *streamer*. See linkzmq:zmq_device[3] for a specification of these device types. -FRONTEND and BACKEND are endpoints in the format 'transport'`://`'address', See -linkzmq:zmq_bind[3] for a specification of valid transports and addresses. +FRONTEND and BACKEND are endpoints in the format 'transport'`://`'address', See linkzmq:zmq_bind[3] for a specification of valid transports and addresses. CONFIGURED USAGE ---------------- -CONFIGFILE is the name of an XML file, readable by 'zmq_device'. This file -provides a specification of the devices to start and how to connect and/or bind -their frontends and backends. If CONFIGFILE is absent or *-* then the -configuration is read from standard input. +CONFIGFILE is the name of an XML file, readable by 'zmq_device'. This file provides a specification of the devices to start and how to connect and/or bind their frontends and backends. If CONFIGFILE is absent or *-* then the configuration is read from standard input. The configuration file has this general syntax: @@ -62,28 +52,19 @@ The configuration file has this general syntax: ---- *iothreads*:: - specifies the number of I/O threads for the process. Specify this only for - high-volume scenarios. See linkzmq:zmq_init[3]. + specifies the number of I/O threads for the process. Specify this only for high-volume scenarios. See linkzmq:zmq_init[3]. *device*:: - defines one device. For each device element you define, 'zmq_device' will - start a thread. + defines one device. For each device element you define, 'zmq_device' will start a thread. *frontend*:: - defines the frontend for the device. Occurs once per device element. You - may override the default socket type. + defines the frontend for the device. Occurs once per device element. You may override the default socket type. *backend*:: - defines the backend for the device. Occurs once per device element. You -may override the default socket type. + defines the backend for the device. Occurs once per device element. You may override the default socket type. *set*:: - defines a socket option for the frontend or backend. The valid names are - *hwm*, *swap*, *identity*, *subscribe*, *unsubscribe*, *rate*, - *recovery_ivl*, *mcast_loop*, *sndbuf*, and *rcvbuf*. See - linkzmq:zmq_setsockopt[3]. + defines a socket option for the frontend or backend. The valid names are *hwm*, *swap*, *identity*, *subscribe*, *unsubscribe*, *rate*, *recovery_ivl*, *mcast_loop*, *sndbuf*, and *rcvbuf*. See linkzmq:zmq_setsockopt[3]. *bind*:: - binds the frontend or backend to the specified endpoint. See - linkzmq:zmq_bind[3]. + binds the frontend or backend to the specified endpoint. See linkzmq:zmq_bind[3]. *connect*:: - binds the frontend or backend to the specified endpoint. See - linkzmq:zmq_connect[3]. + binds the frontend or backend to the specified endpoint. See linkzmq:zmq_connect[3]. SOCKET TYPES ------------ @@ -97,12 +78,9 @@ By default 'zmq_device' uses these socket types: *streamer* device:: frontend is *pull*, backend is *push*. -You can override the socket type for frontend or backend. The valid types are: -*req*, *rep*, *xreq*, *xrep*, *sub*, *pub*, *pull*, *push*, and *pair*. See -linkzmq:zmq_socket[3]. +You can override the socket type for frontend or backend. The valid types are: *req*, *rep*, *xreq*, *xrep*, *sub*, *pub*, *pull*, *push*, and *pair*. See linkzmq:zmq_socket[3]. -*Note*: if you use a *sub* socket you must explicitly set a subscription filter -or your socket will not receive any data. +*Note*: if you use a *sub* socket you must explicitly set a subscription filter or your socket will not receive any data. EXAMPLE diff --git a/doc/zmq_getsockopt.txt b/doc/zmq_getsockopt.txt index 88ebefd..d8138f7 100644 --- a/doc/zmq_getsockopt.txt +++ b/doc/zmq_getsockopt.txt @@ -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. diff --git a/doc/zmq_pgm.txt b/doc/zmq_pgm.txt index abc943e..862cbd6 100644 --- a/doc/zmq_pgm.txt +++ b/doc/zmq_pgm.txt @@ -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. diff --git a/doc/zmq_poll.txt b/doc/zmq_poll.txt index 2648ad7..b077629 100644 --- a/doc/zmq_poll.txt +++ b/doc/zmq_poll.txt @@ -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; diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index 5f43ec0..e2869e3 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -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. diff --git a/doc/zmq_tcp.txt b/doc/zmq_tcp.txt index 2264d75..b96f3df 100644 --- a/doc/zmq_tcp.txt +++ b/doc/zmq_tcp.txt @@ -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' -- cgit v1.2.3 From 48d3e2d6607499b8c5feb1258c9bd40519923c69 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 15:54:53 +0200 Subject: Revert "Removed empty man pages for old standalone devices" This reverts commit 6ff193999d96487f7aa7e578980ab5554e61d8dc. --- doc/asciidoc.conf | 2 +- doc/zmq_forwarder.txt | 29 +++++++++++++++++++++++++++++ doc/zmq_queue.txt | 29 +++++++++++++++++++++++++++++ doc/zmq_streamer.txt | 29 +++++++++++++++++++++++++++++ 4 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 doc/zmq_forwarder.txt create mode 100644 doc/zmq_queue.txt create mode 100644 doc/zmq_streamer.txt (limited to 'doc') diff --git a/doc/asciidoc.conf b/doc/asciidoc.conf index 3351125..c20001b 100644 --- a/doc/asciidoc.conf +++ b/doc/asciidoc.conf @@ -36,7 +36,7 @@ template::[header-declarations] [footer] AUTHORS -The 0MQ reference manual was written by Martin Lucina <mato@kotelna.sk>, Martin Sustrik <sustrik@250bpm.com>, and Pieter Hintjens <ph@imatix.com>. +Man pages by Martin Lucina <mato@kotelna.sk>, Martin Sustrik <sustrik@250bpm.com>, and Pieter Hintjens <ph@imatix.com>. RESOURCES diff --git a/doc/zmq_forwarder.txt b/doc/zmq_forwarder.txt new file mode 100644 index 0000000..ae6ae9b --- /dev/null +++ b/doc/zmq_forwarder.txt @@ -0,0 +1,29 @@ +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] + + diff --git a/doc/zmq_queue.txt b/doc/zmq_queue.txt new file mode 100644 index 0000000..2d198cf --- /dev/null +++ b/doc/zmq_queue.txt @@ -0,0 +1,29 @@ +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] + + diff --git a/doc/zmq_streamer.txt b/doc/zmq_streamer.txt new file mode 100644 index 0000000..5f142f7 --- /dev/null +++ b/doc/zmq_streamer.txt @@ -0,0 +1,29 @@ +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] + + -- cgit v1.2.3 From 4cb6dbd52f5ab65350a448ceb07ff77eacc2b84c Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 15:55:03 +0200 Subject: Revert "Reverting 'clean' change to Makefile" This reverts commit c51de31f2fd31f782e419bfac2fb8d40d689f3e3. --- doc/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index 44dcfdf..a23cb4e 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -27,6 +27,8 @@ MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML) dist-hook : $(MAN_DOC) $(MAN_HTML) +clean: + rm *.1 *.3 *.7 if BUILD_DOC SUFFIXES=.html .txt .xml .1 .3 .7 -- cgit v1.2.3 From 32baeb610e779862b58c56f66571b01599743a9e Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 15:55:11 +0200 Subject: Revert "Various changes to documentation project:" This reverts commit 77a3c36ff1f11215229a4efdb821a3cb83a9d6fc. --- doc/asciidoc.conf | 15 ------ doc/zmq.txt | 19 +++++++ doc/zmq_bind.txt | 9 +++- doc/zmq_close.txt | 4 ++ doc/zmq_connect.txt | 4 ++ doc/zmq_cpp.txt | 4 ++ doc/zmq_deviced.txt | 123 ---------------------------------------------- doc/zmq_errno.txt | 4 ++ doc/zmq_forwarder.txt | 4 ++ doc/zmq_getsockopt.txt | 4 ++ doc/zmq_init.txt | 4 ++ doc/zmq_inproc.txt | 4 ++ doc/zmq_ipc.txt | 4 ++ doc/zmq_msg_close.txt | 4 ++ doc/zmq_msg_copy.txt | 4 ++ doc/zmq_msg_data.txt | 4 ++ doc/zmq_msg_init.txt | 4 ++ doc/zmq_msg_init_data.txt | 4 ++ doc/zmq_msg_init_size.txt | 4 ++ doc/zmq_msg_move.txt | 4 ++ doc/zmq_msg_size.txt | 4 ++ doc/zmq_pgm.txt | 5 +- doc/zmq_poll.txt | 4 ++ doc/zmq_queue.txt | 4 ++ doc/zmq_recv.txt | 4 ++ doc/zmq_send.txt | 4 ++ doc/zmq_setsockopt.txt | 4 ++ doc/zmq_socket.txt | 31 ++++++------ doc/zmq_streamer.txt | 4 ++ doc/zmq_strerror.txt | 4 ++ doc/zmq_tcp.txt | 4 ++ doc/zmq_term.txt | 5 ++ doc/zmq_version.txt | 4 ++ 33 files changed, 155 insertions(+), 156 deletions(-) delete mode 100644 doc/zmq_deviced.txt (limited to 'doc') diff --git a/doc/asciidoc.conf b/doc/asciidoc.conf index c20001b..15633a3 100644 --- a/doc/asciidoc.conf +++ b/doc/asciidoc.conf @@ -33,21 +33,6 @@ template::[header-declarations] {manname} {manpurpose} -[footer] - -AUTHORS -Man pages by Martin Lucina <mato@kotelna.sk>, Martin Sustrik <sustrik@250bpm.com>, and Pieter Hintjens <ph@imatix.com>. - - -RESOURCES -Main web site: http://www.zeromq.org/ -Report bugs to the 0MQ development mailing list: <zeromq-dev@lists.zeromq.org> - - -COPYRIGHT -Copyright (c) 2007-2010 iMatix Corporation and contributors. License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>. 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 COPYING and COPYING.LESSER included with the 0MQ distribution. - - endif::backend-docbook[] endif::doctype-manpage[] diff --git a/doc/zmq.txt b/doc/zmq.txt index d8f398e..06658c9 100644 --- a/doc/zmq.txt +++ b/doc/zmq.txt @@ -199,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 and +Martin Lucina . + + +RESOURCES +--------- +Main web site: + +Report bugs to the 0MQ development mailing list: + + +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. diff --git a/doc/zmq_bind.txt b/doc/zmq_bind.txt index 3ad62e7..7aa5a0b 100644 --- a/doc/zmq_bind.txt +++ b/doc/zmq_bind.txt @@ -70,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); ---- @@ -82,3 +82,8 @@ linkzmq:zmq_connect[3] linkzmq:zmq_socket[3] linkzmq:zmq[7] + +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_close.txt b/doc/zmq_close.txt index 7936fca..e903437 100644 --- a/doc/zmq_close.txt +++ b/doc/zmq_close.txt @@ -42,3 +42,7 @@ linkzmq:zmq_term[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_connect.txt b/doc/zmq_connect.txt index 4476d3d..ffcf3b4 100644 --- a/doc/zmq_connect.txt +++ b/doc/zmq_connect.txt @@ -81,3 +81,7 @@ linkzmq:zmq_socket[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_cpp.txt b/doc/zmq_cpp.txt index e25f460..d43ff62 100644 --- a/doc/zmq_cpp.txt +++ b/doc/zmq_cpp.txt @@ -204,3 +204,7 @@ SEE ALSO linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_deviced.txt b/doc/zmq_deviced.txt deleted file mode 100644 index e5ba83f..0000000 --- a/doc/zmq_deviced.txt +++ /dev/null @@ -1,123 +0,0 @@ -zmq_deviced(1) -============== - -NAME ----- -zmq_deviced - start built-in 0MQ devices - -SYNOPSIS --------- - -*zmq_deviced _DEVICE_ _FRONTEND_ _BACKEND_* - -*zmq_deviced [_CONFIGFILE_]* - -DESCRIPTION ------------ -Starts one or more 0MQ devices. If you specify a DEVICE, FRONTEND, and BACKEND then _zmq_device_ starts a single device acting as a mini-broker. If you specify a CONFIGFILE, you can configure _zmq_device_ to start multiple concurrent devices with arbitrary configurations. - -*Note* - zmq_deviced is not yet implemented. This is a design. - -MINI-BROKER USAGE ------------------ -Runs as a mini-broker that accepts connects to both frontend and backend. This creates a hub-and-spoke topology in which all peers connect to the device. This is a robust and easy to manage topology. - -DEVICE is one of: *queue*, *forwarder*, or *streamer*. See linkzmq:zmq_device[3] for a specification of these device types. - -FRONTEND and BACKEND are endpoints in the format 'transport'`://`'address', See linkzmq:zmq_bind[3] for a specification of valid transports and addresses. - - -CONFIGURED USAGE ----------------- -CONFIGFILE is the name of an XML file, readable by 'zmq_device'. This file provides a specification of the devices to start and how to connect and/or bind their frontends and backends. If CONFIGFILE is absent or *-* then the configuration is read from standard input. - -The configuration file has this general syntax: - ----- - - - - - ... - ... - ... - - - ... - ... - ... - - - ----- - -*iothreads*:: - specifies the number of I/O threads for the process. Specify this only for high-volume scenarios. See linkzmq:zmq_init[3]. -*device*:: - defines one device. For each device element you define, 'zmq_device' will start a thread. -*frontend*:: - defines the frontend for the device. Occurs once per device element. You may override the default socket type. -*backend*:: - defines the backend for the device. Occurs once per device element. You may override the default socket type. -*set*:: - defines a socket option for the frontend or backend. The valid names are *hwm*, *swap*, *identity*, *subscribe*, *unsubscribe*, *rate*, *recovery_ivl*, *mcast_loop*, *sndbuf*, and *rcvbuf*. See linkzmq:zmq_setsockopt[3]. -*bind*:: - binds the frontend or backend to the specified endpoint. See linkzmq:zmq_bind[3]. -*connect*:: - binds the frontend or backend to the specified endpoint. See linkzmq:zmq_connect[3]. - -SOCKET TYPES ------------- - -By default 'zmq_device' uses these socket types: - -*queue* device:: - frontend is *xrep*, backend is *xreq*. -*forwarder* device:: - frontend is *sub*, backend is *pub*. -*streamer* device:: - frontend is *pull*, backend is *push*. - -You can override the socket type for frontend or backend. The valid types are: *req*, *rep*, *xreq*, *xrep*, *sub*, *pub*, *pull*, *push*, and *pair*. See linkzmq:zmq_socket[3]. - -*Note*: if you use a *sub* socket you must explicitly set a subscription filter or your socket will not receive any data. - - -EXAMPLE -------- - -.Creating a queue broker ----- -zmq_device queue tcp://*:5050 tcp://*:5051 ----- - -.A TCP-to-multicast proxy forwarder ----- -zmq_device - - - - - - - - - - - - - - - - - ----- - - -SEE ALSO --------- -linkzmq:zmq_device[3] -linkzmq:zmq_init[3] -linkzmq:zmq_setsockopt[3] -linkzmq:zmq_bind[3] -linkzmq:zmq_connect[3] -linkzmq:zmq[7] diff --git a/doc/zmq_errno.txt b/doc/zmq_errno.txt index e3e9ab2..61939a5 100644 --- a/doc/zmq_errno.txt +++ b/doc/zmq_errno.txt @@ -44,3 +44,7 @@ SEE ALSO linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_forwarder.txt b/doc/zmq_forwarder.txt index ae6ae9b..b3325f2 100644 --- a/doc/zmq_forwarder.txt +++ b/doc/zmq_forwarder.txt @@ -27,3 +27,7 @@ SEE ALSO linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_getsockopt.txt b/doc/zmq_getsockopt.txt index d8138f7..1e36a2a 100644 --- a/doc/zmq_getsockopt.txt +++ b/doc/zmq_getsockopt.txt @@ -237,3 +237,7 @@ linkzmq:zmq_socket[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_init.txt b/doc/zmq_init.txt index 60c85eb..04bbbc8 100644 --- a/doc/zmq_init.txt +++ b/doc/zmq_init.txt @@ -40,3 +40,7 @@ linkzmq:zmq[7] linkzmq:zmq_term[3] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_inproc.txt b/doc/zmq_inproc.txt index b0c6a6b..2805f71 100644 --- a/doc/zmq_inproc.txt +++ b/doc/zmq_inproc.txt @@ -83,3 +83,7 @@ linkzmq:zmq_pgm[7] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_ipc.txt b/doc/zmq_ipc.txt index 24475e9..81f6747 100644 --- a/doc/zmq_ipc.txt +++ b/doc/zmq_ipc.txt @@ -74,3 +74,7 @@ linkzmq:zmq_pgm[7] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_msg_close.txt b/doc/zmq_msg_close.txt index 1394a4e..1da353b 100644 --- a/doc/zmq_msg_close.txt +++ b/doc/zmq_msg_close.txt @@ -48,3 +48,7 @@ linkzmq:zmq_msg_size[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_msg_copy.txt b/doc/zmq_msg_copy.txt index 49e761c..f41a42e 100644 --- a/doc/zmq_msg_copy.txt +++ b/doc/zmq_msg_copy.txt @@ -50,3 +50,7 @@ linkzmq:zmq_msg_close[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_msg_data.txt b/doc/zmq_msg_data.txt index cb90db7..dbf6612 100644 --- a/doc/zmq_msg_data.txt +++ b/doc/zmq_msg_data.txt @@ -42,3 +42,7 @@ linkzmq:zmq_msg_close[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_msg_init.txt b/doc/zmq_msg_init.txt index d34be79..d31dbae 100644 --- a/doc/zmq_msg_init.txt +++ b/doc/zmq_msg_init.txt @@ -59,3 +59,7 @@ linkzmq:zmq_msg_size[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_msg_init_data.txt b/doc/zmq_msg_init_data.txt index a9cefff..8378757 100644 --- a/doc/zmq_msg_init_data.txt +++ b/doc/zmq_msg_init_data.txt @@ -74,3 +74,7 @@ linkzmq:zmq_msg_size[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_msg_init_size.txt b/doc/zmq_msg_init_size.txt index ddc004a..b4ef393 100644 --- a/doc/zmq_msg_init_size.txt +++ b/doc/zmq_msg_init_size.txt @@ -52,3 +52,7 @@ linkzmq:zmq_msg_size[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_msg_move.txt b/doc/zmq_msg_move.txt index 97f07bf..75c8e74 100644 --- a/doc/zmq_msg_move.txt +++ b/doc/zmq_msg_move.txt @@ -45,3 +45,7 @@ linkzmq:zmq_msg_close[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_msg_size.txt b/doc/zmq_msg_size.txt index ecbe045..05abfa6 100644 --- a/doc/zmq_msg_size.txt +++ b/doc/zmq_msg_size.txt @@ -42,3 +42,7 @@ linkzmq:zmq_msg_close[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_pgm.txt b/doc/zmq_pgm.txt index 862cbd6..4017db2 100644 --- a/doc/zmq_pgm.txt +++ b/doc/zmq_pgm.txt @@ -151,4 +151,7 @@ linkzmq:zmq_ipc[7] linkzmq:zmq_inproc[7] linkzmq:zmq[7] - +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_poll.txt b/doc/zmq_poll.txt index b077629..fe2a209 100644 --- a/doc/zmq_poll.txt +++ b/doc/zmq_poll.txt @@ -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 and +Martin Lucina . diff --git a/doc/zmq_queue.txt b/doc/zmq_queue.txt index 2d198cf..a3f84f2 100644 --- a/doc/zmq_queue.txt +++ b/doc/zmq_queue.txt @@ -27,3 +27,7 @@ SEE ALSO linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_recv.txt b/doc/zmq_recv.txt index 326d78c..dc60af6 100644 --- a/doc/zmq_recv.txt +++ b/doc/zmq_recv.txt @@ -110,3 +110,7 @@ linkzmq:zmq_socket[7] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_send.txt b/doc/zmq_send.txt index ace4a66..793d1a8 100644 --- a/doc/zmq_send.txt +++ b/doc/zmq_send.txt @@ -105,3 +105,7 @@ linkzmq:zmq_socket[7] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_setsockopt.txt b/doc/zmq_setsockopt.txt index e2869e3..1b551c6 100644 --- a/doc/zmq_setsockopt.txt +++ b/doc/zmq_setsockopt.txt @@ -269,3 +269,7 @@ linkzmq:zmq_socket[3] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_socket.txt b/doc/zmq_socket.txt index 23a79e4..41e62c5 100644 --- a/doc/zmq_socket.txt +++ b/doc/zmq_socket.txt @@ -216,24 +216,22 @@ is connected to at least one _node_. When a pipeline stage is connected to multiple _nodes_ data is load-balanced among all connected _nodes_. -ZMQ_PUSH -^^^^^^^^ -A socket of type 'ZMQ_PUSH' is used by a pipeline _node_ to send messages +ZMQ_DOWNSTREAM +^^^^^^^^^^^^^^ +A socket of type 'ZMQ_DOWNSTREAM' is used by a pipeline _node_ to send messages 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 +When a 'ZMQ_DOWNSTREAM' 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. - [horizontal] -.Summary of ZMQ_PUSH characteristics -Compatible peer sockets:: 'ZMQ_PULL' +.Summary of ZMQ_DOWNSTREAM characteristics +Compatible peer sockets:: 'ZMQ_UPSTREAM' Direction:: Unidirectional Send/receive pattern:: Send only Incoming routing strategy:: N/A @@ -241,18 +239,16 @@ Outgoing routing strategy:: Load-balanced ZMQ_HWM option action:: Block -ZMQ_PULL -^^^^^^^^ -A socket of type 'ZMQ_PULL' is used by a pipeline _node_ to receive +ZMQ_UPSTREAM +^^^^^^^^^^^^ +A socket of type 'ZMQ_UPSTREAM' 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. - [horizontal] -.Summary of ZMQ_PULL characteristics -Compatible peer sockets:: 'ZMQ_PUSH' +.Summary of ZMQ_UPSTREAM characteristics +Compatible peer sockets:: 'ZMQ_DOWNSTREAM' Direction:: Unidirectional Send/receive pattern:: Receive only Incoming routing strategy:: Fair-queued @@ -317,3 +313,8 @@ linkzmq:zmq_send[3] linkzmq:zmq_recv[3] linkzmq:zmq[7] + +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_streamer.txt b/doc/zmq_streamer.txt index 5f142f7..c8d517b 100644 --- a/doc/zmq_streamer.txt +++ b/doc/zmq_streamer.txt @@ -27,3 +27,7 @@ SEE ALSO linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_strerror.txt b/doc/zmq_strerror.txt index 0624c59..61f30e3 100644 --- a/doc/zmq_strerror.txt +++ b/doc/zmq_strerror.txt @@ -49,3 +49,7 @@ SEE ALSO linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_tcp.txt b/doc/zmq_tcp.txt index b96f3df..29fa181 100644 --- a/doc/zmq_tcp.txt +++ b/doc/zmq_tcp.txt @@ -156,3 +156,7 @@ linkzmq:zmq_inproc[7] linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_term.txt b/doc/zmq_term.txt index 10455dd..f3ffa01 100644 --- a/doc/zmq_term.txt +++ b/doc/zmq_term.txt @@ -52,3 +52,8 @@ SEE ALSO linkzmq:zmq[7] linkzmq:zmq_init[3] + +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . diff --git a/doc/zmq_version.txt b/doc/zmq_version.txt index e5cf0c4..0ad3a55 100644 --- a/doc/zmq_version.txt +++ b/doc/zmq_version.txt @@ -47,3 +47,7 @@ SEE ALSO -------- linkzmq:zmq[7] +AUTHORS +------- +The 0MQ documentation was written by Martin Sustrik and +Martin Lucina . -- cgit v1.2.3 From 8800ac7de5d50426b0459ebea4568bb77954ea3d Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 15:55:19 +0200 Subject: Revert "Added clean target that deletes generated man pages" This reverts commit 6cd90304476c1c6873d67068009def63e520b848. --- doc/Makefile.am | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/Makefile.am b/doc/Makefile.am index a23cb4e..ba2b64a 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,10 +1,9 @@ -MAN1 = zmq_deviced.1 +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) @@ -27,8 +26,6 @@ MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML) dist-hook : $(MAN_DOC) $(MAN_HTML) -clean: - rm *.1 *.3 *.7 if BUILD_DOC SUFFIXES=.html .txt .xml .1 .3 .7 -- cgit v1.2.3 From 26b39bcdef390f45bb316c4488b51470c27086e2 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 15:55:41 +0200 Subject: Revert "Added man page for the zmq_device method" This reverts commit f575f252c99c99d3622f313d6bbad6635197a1e4. Conflicts: doc/zmq_device.txt --- doc/zmq_device.txt | 99 ------------------------------------------------------ 1 file changed, 99 deletions(-) delete mode 100644 doc/zmq_device.txt (limited to 'doc') diff --git a/doc/zmq_device.txt b/doc/zmq_device.txt deleted file mode 100644 index 10d7445..0000000 --- a/doc/zmq_device.txt +++ /dev/null @@ -1,99 +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*:: - bind frontend socket to an endpoint, and connect backend socket to downstream components. A proxy device model does not require changes to the downstream topology but that topology is static (any changes require reconfiguring the device). -*broker*:: - bind frontend socket to one endpoint and bind backend socket to a second endpoint. Downstream components must now connect into the device. A broker device model allows a dynamic downstream topology (components 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 ------------- -<<<<<<< HEAD -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 ------- -The _zmq_device()_ function always returns `-1` and 'errno' set to *ETERM* (the 0MQ 'context' associated with either of the specified sockets was terminated). - - -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); ----- - - -SEE ALSO --------- -linkzmq:zmq_bind[3] -linkzmq:zmq_connect[3] -linkzmq:zmq_socket[3] -linkzmq:zmq[7] - -- cgit v1.2.3 From ee3444ff93888a052cd1ba48aa22892f7077a7a0 Mon Sep 17 00:00:00 2001 From: Martin Lucina Date: Sat, 4 Sep 2010 16:00:26 +0200 Subject: doc: Update zmq_socket(3) for 2.0.8 API changes --- doc/zmq_socket.txt | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'doc') diff --git a/doc/zmq_socket.txt b/doc/zmq_socket.txt index 41e62c5..2156af2 100644 --- a/doc/zmq_socket.txt +++ b/doc/zmq_socket.txt @@ -216,22 +216,24 @@ is connected to at least one _node_. When a pipeline stage is connected to multiple _nodes_ data is load-balanced among all connected _nodes_. -ZMQ_DOWNSTREAM -^^^^^^^^^^^^^^ -A socket of type 'ZMQ_DOWNSTREAM' is used by a pipeline _node_ to send messages +ZMQ_PUSH +^^^^^^^^ +A socket of type 'ZMQ_PUSH' is used by a pipeline _node_ to send messages 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_DOWNSTREAM' 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'. [horizontal] -.Summary of ZMQ_DOWNSTREAM characteristics -Compatible peer sockets:: 'ZMQ_UPSTREAM' +.Summary of ZMQ_PUSH characteristics +Compatible peer sockets:: 'ZMQ_PULL' Direction:: Unidirectional Send/receive pattern:: Send only Incoming routing strategy:: N/A @@ -239,16 +241,18 @@ Outgoing routing strategy:: Load-balanced ZMQ_HWM option action:: Block -ZMQ_UPSTREAM -^^^^^^^^^^^^ -A socket of type 'ZMQ_UPSTREAM' 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. +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. + +Deprecated alias: 'ZMQ_UPSTREAM'. [horizontal] -.Summary of ZMQ_UPSTREAM characteristics -Compatible peer sockets:: 'ZMQ_DOWNSTREAM' +.Summary of ZMQ_PULL characteristics +Compatible peer sockets:: 'ZMQ_PUSH' Direction:: Unidirectional Send/receive pattern:: Receive only Incoming routing strategy:: Fair-queued -- cgit v1.2.3