summaryrefslogtreecommitdiff
path: root/doc/zmq.7
diff options
context:
space:
mode:
Diffstat (limited to 'doc/zmq.7')
-rw-r--r--doc/zmq.734
1 files changed, 9 insertions, 25 deletions
diff --git a/doc/zmq.7 b/doc/zmq.7
index 9b1e430..61345fb 100644
--- a/doc/zmq.7
+++ b/doc/zmq.7
@@ -2,12 +2,12 @@
.\" Title: zmq
.\" Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
-.\" Date: 10/15/2010
+.\" Date: 03/15/2011
.\" Manual: 0MQ Manual
-.\" Source: 0MQ 2.0.10
+.\" Source: 0MQ 2.1.3
.\" Language: English
.\"
-.TH "ZMQ" "7" "10/15/2010" "0MQ 2\&.0\&.10" "0MQ Manual"
+.TH "ZMQ" "7" "03/15/2011" "0MQ 2\&.1\&.3" "0MQ Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -63,7 +63,9 @@ Terminate 0MQ context
\fBThread safety\fR
.RS 4
.sp
-A 0MQ \fIcontext\fR is thread safe and may be shared among as many application threads as necessary, without any additional locking required on the part of the caller\&. Each 0MQ socket belonging to a particular \fIcontext\fR may only be used by \fBthe thread that created it\fR using \fIzmq_socket()\fR\&.
+A 0MQ \fIcontext\fR is thread safe and may be shared among as many application threads as necessary, without any additional locking required on the part of the caller\&.
+.sp
+Individual 0MQ \fIsockets\fR are \fInot\fR thread safe except in the case where full memory barriers are issued when migrating a socket from one thread to another\&. In practice this means applications can create a socket in one thread with \fIzmq_socket()\fR and then pass it to a \fInewly created\fR thread as part of thread initialization, for example via a structure passed as an argument to \fIpthread_create()\fR\&.
.RE
.sp
.it 1 an-trap
@@ -183,27 +185,9 @@ Local in\-process (inter\-thread) communication transport
.RE
.SS "Devices"
.sp
-Apart from the 0MQ library the 0MQ distribution includes \fIdevices\fR which are building blocks intended to serve as intermediate nodes in complex messaging topologies\&.
+0MQ provides \fIdevices\fR, 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\&.
.sp
-The following devices are provided:
-.PP
-Forwarder device for request\-response messaging
-.RS 4
-
-\fBzmq_queue\fR(1)
-.RE
-.PP
-Forwarder device for publish\-subscribe messaging
-.RS 4
-
-\fBzmq_forwarder\fR(1)
-.RE
-.PP
-Streamer device for parallelized pipeline messaging
-.RS 4
-
-\fBzmq_streamer\fR(1)
-.RE
+You can start a device in an application thread, see \fBzmq_device\fR(3)\&.
.SH "ERROR HANDLING"
.sp
The 0MQ library functions handle errors using the standard conventions found on POSIX systems\&. Generally, this means that upon failure a 0MQ library function shall return either a NULL value (if returning a pointer) or a negative value (if returning an integer), and the actual error code shall be stored in the \fIerrno\fR variable\&.
@@ -231,7 +215,7 @@ The 0MQ distribution includes a C++ language binding, which is documented separa
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\&.
.SH "AUTHORS"
.sp
-The 0MQ documentation was written by Martin Sustrik <\m[blue]\fBsustrik@250bpm\&.com\fR\m[]\&\s-2\u[1]\d\s+2> and Martin Lucina <\m[blue]\fBmato@kotelna\&.sk\fR\m[]\&\s-2\u[2]\d\s+2>\&.
+This 0MQ manual page was written by Martin Sustrik <\m[blue]\fBsustrik@250bpm\&.com\fR\m[]\&\s-2\u[1]\d\s+2> and Martin Lucina <\m[blue]\fBmato@kotelna\&.sk\fR\m[]\&\s-2\u[2]\d\s+2>\&.
.SH "RESOURCES"
.sp
Main web site: \m[blue]\fBhttp://www\&.zeromq\&.org/\fR\m[]