diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile.am | 2 | ||||
-rw-r--r-- | doc/zmq.txt | 7 | ||||
-rw-r--r-- | doc/zmq_deviced.txt | 145 |
3 files changed, 3 insertions, 151 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am index 44dcfdf..05cb3dc 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,4 @@ -MAN1 = zmq_deviced.1 +MAN1 = 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 0ff26e7..362f907 100644 --- a/doc/zmq.txt +++ b/doc/zmq.txt @@ -44,8 +44,7 @@ Terminate 0MQ context:: Thread safety ^^^^^^^^^^^^^ A 0MQ 'context' is thread safe and may be shared among as many application -threads as the application has requested using the _app_threads_ parameter to -_zmq_init()_, without any additional locking required on the part of the +threads as necessary, without any additional locking required on the part of the caller. Each 0MQ socket belonging to a particular 'context' may only be used by *the thread that created it* using _zmq_socket()_. @@ -145,9 +144,7 @@ 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]. +You can start a device in an application thread, see linkzmq:zmq_device[3]. ERROR HANDLING diff --git a/doc/zmq_deviced.txt b/doc/zmq_deviced.txt deleted file mode 100644 index fd94c96..0000000 --- a/doc/zmq_deviced.txt +++ /dev/null @@ -1,145 +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: - ----- -<?xml?> -<config [ iothreads="..." ] > - <device type="..."> - <frontend [ type="..." ] > - <set name = "..." value = "..." />... - <bind endpoint="..." /> ... - <connect address="..." /> ... - </frontend> - <backend [ type="..." ] > - <set name = "..." value = "..." />... - <bind address="..." /> ... - <connect address="..." /> ... - </backend> - </device> -</config> ----- - -*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 - -<?xml?> -<config> - <device type="forwarder"> - <frontend> - <!-- subscribe to everything --> - <set name = "subscribe" value = "" /> - <!-- connect to two publishers --> - <connect address="tcp://192.168.55.112:5055" /> - <connect address="tcp://192.168.55.114:5055" /> - </frontend> - <backend> - <!-- bind to epgm group via eth0 --> - <bind address="epgm://eth0;239.192.1.1:5555" /> - </backend> - </device> -</config> ----- - - -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] |