diff options
author | Martin Lucina <martin@lucina.net> | 2012-01-23 09:00:28 +0100 |
---|---|---|
committer | Martin Lucina <martin@lucina.net> | 2012-01-23 09:00:28 +0100 |
commit | 4016b657973bba87caf75168ba70aaa85d556487 (patch) | |
tree | c2abaf9284f55964bea72a0b76f6b79070335858 /doc/zmq_socket.html | |
parent | 978e33ba253a997b41b331b449b474a5cee7bccc (diff) |
Imported Upstream version 2.1.11upstream/2.1.11
Diffstat (limited to 'doc/zmq_socket.html')
-rw-r--r-- | doc/zmq_socket.html | 206 |
1 files changed, 130 insertions, 76 deletions
diff --git a/doc/zmq_socket.html b/doc/zmq_socket.html index b77ab08..05c5ab7 100644 --- a/doc/zmq_socket.html +++ b/doc/zmq_socket.html @@ -2,15 +2,28 @@ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta name="generator" content="AsciiDoc 8.5.2" />
+<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
+<meta name="generator" content="AsciiDoc 8.6.4" />
<title>zmq_socket(3)</title>
<style type="text/css">
-/* Debug borders */
-p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
-/*
- border: 1px solid red;
-*/
+/* Sans-serif font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+div#toctitle,
+span#author, span#revnumber, span#revdate, span#revremark,
+div#footer {
+ font-family: Arial,Helvetica,sans-serif;
+}
+
+/* Serif font. */
+div.sectionbody {
+ font-family: Georgia,"Times New Roman",Times,serif;
+}
+
+/* Monospace font. */
+tt {
+ font-size: inherit;
}
body {
@@ -36,12 +49,12 @@ strong { }
tt {
+ font-size: inherit;
color: navy;
}
h1, h2, h3, h4, h5, h6 {
color: #527bbd;
- font-family: sans-serif;
margin-top: 1.2em;
margin-bottom: 0.5em;
line-height: 1.3;
@@ -61,7 +74,6 @@ h3 + * { }
div.sectionbody {
- font-family: serif;
margin-left: 0;
}
@@ -77,6 +89,8 @@ p { ul, ol, li > p {
margin-top: 0;
}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
pre {
padding: 0;
@@ -85,18 +99,15 @@ pre { span#author {
color: #527bbd;
- font-family: sans-serif;
font-weight: bold;
font-size: 1.1em;
}
span#email {
}
span#revnumber, span#revdate, span#revremark {
- font-family: sans-serif;
}
div#footer {
- font-family: sans-serif;
font-size: small;
border-top: 2px solid silver;
padding-top: 0.5em;
@@ -135,7 +146,6 @@ div.content { /* Block element content. */ /* Block element titles. */
div.title, caption.title {
color: #527bbd;
- font-family: sans-serif;
font-weight: bold;
text-align: left;
margin-top: 1.0em;
@@ -157,13 +167,15 @@ div.content + div.title { div.sidebarblock > div.content {
background: #ffffee;
- border: 1px solid silver;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
padding: 0.5em;
}
div.listingblock > div.content {
- border: 1px solid silver;
- background: #f4f4f4;
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
padding: 0.5em;
}
@@ -171,7 +183,7 @@ div.quoteblock, div.verseblock { padding-left: 1.0em;
margin-left: 1.0em;
margin-right: 10%;
- border-left: 5px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
color: #777777;
}
@@ -180,8 +192,9 @@ div.quoteblock > div.attribution { text-align: right;
}
-div.verseblock > div.content {
- white-space: pre;
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
}
div.verseblock > div.attribution {
padding-top: 0.75em;
@@ -258,8 +271,8 @@ div.tableblock > table { border: 3px solid #527bbd;
}
thead, p.table.header {
- font-family: sans-serif;
font-weight: bold;
+ color: #527bbd;
}
tfoot {
font-weight: bold;
@@ -339,6 +352,14 @@ span.footnote, span.footnoteref { min-width: 100px;
}
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
@media print {
div#footer-badges { display: none; }
@@ -350,7 +371,6 @@ div#toc { div#toctitle {
color: #527bbd;
- font-family: sans-serif;
font-size: 1.1em;
font-weight: bold;
margin-top: 1.0em;
@@ -373,6 +393,43 @@ div.toclevel4 { margin-left: 6em;
font-size: 0.9em;
}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
/* Overrides for manpage documents */
h1 {
padding-top: 0.5em;
@@ -391,47 +448,6 @@ div.sectionbody { div#toc { display: none; }
}
-/* Workarounds for IE6's broken and incomplete CSS2. */
-
-div.sidebar-content {
- background: #ffffee;
- border: 1px solid silver;
- padding: 0.5em;
-}
-div.sidebar-title, div.image-title {
- color: #527bbd;
- font-family: sans-serif;
- font-weight: bold;
- margin-top: 0.0em;
- margin-bottom: 0.5em;
-}
-
-div.listingblock div.content {
- border: 1px solid silver;
- background: #f4f4f4;
- padding: 0.5em;
-}
-
-div.quoteblock-attribution {
- padding-top: 0.5em;
- text-align: right;
-}
-
-div.verseblock-content {
- white-space: pre;
-}
-div.verseblock-attribution {
- padding-top: 0.75em;
- text-align: left;
-}
-
-div.exampleblock-content {
- border-left: 3px solid #dddddd;
- padding-left: 0.5em;
-}
-
-/* IE6 sets dynamically generated links as visited. */
-div#toc a:visited { color: blue; }
</style>
<script type="text/javascript">
/*<![CDATA[*/
@@ -567,7 +583,7 @@ footnotes: function () { /*]]>*/
</script>
</head>
-<body>
+<body class="manpage">
<div id="header">
<h1>
zmq_socket(3) Manual Page
@@ -580,10 +596,13 @@ zmq_socket(3) Manual Page </div>
</div>
<div id="content">
+<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="paragraph"><p><strong>void *zmq_socket (void <em>*context</em>, int <em>type</em>);</strong></p></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph"><p>The <em>zmq_socket()</em> function shall create a ØMQ socket within the specified
@@ -617,15 +636,17 @@ from multiple threads except after migrating a socket from one thread to another with a "full fence" memory barrier.</p></div>
<div class="paragraph"><div class="title">Socket types</div><p>The following sections present the socket types defined by ØMQ, grouped by the
general <em>messaging pattern</em> which is built from related socket types.</p></div>
-<h3 id="_request_reply_pattern">Request-reply pattern</h3><div style="clear:left"></div>
+<div class="sect2">
+<h3 id="_request_reply_pattern">Request-reply pattern</h3>
<div class="paragraph"><p>The request-reply pattern is used for sending requests from a <em>client</em> to one
or more instances of a <em>service</em>, and receiving subsequent replies to each
request sent.</p></div>
+<div class="sect3">
<h4 id="_zmq_req">ZMQ_REQ</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_REQ</em> is used by a <em>client</em> to send requests to and
receive replies from a <em>service</em>. This socket type allows only an alternating
sequence of <em>zmq_send(request)</em> and subsequent <em>zmq_recv(reply)</em> calls. Each
-request sent is load-balanced among all <em>services</em>, and each reply received is
+request sent is round-robined among all <em>services</em>, and each reply received is
matched with the last issued request.</p></div>
<div class="paragraph"><p>When a <em>ZMQ_REQ</em> socket enters an exceptional state due to having reached the
high water mark for all <em>services</em>, or if there are no <em>services</em> at all, then
@@ -673,7 +694,7 @@ Outgoing routing strategy </td>
<td class="hdlist2">
<p style="margin-top: 0;">
-Load-balanced
+Round-robin
</p>
</td>
</tr>
@@ -700,6 +721,8 @@ Block </td>
</tr>
</table></div>
+</div>
+<div class="sect3">
<h4 id="_zmq_rep">ZMQ_REP</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_REP</em> is used by a <em>service</em> to receive requests from and
send replies to a <em>client</em>. This socket type allows only an alternating
@@ -778,9 +801,11 @@ Drop </td>
</tr>
</table></div>
+</div>
+<div class="sect3">
<h4 id="_zmq_dealer">ZMQ_DEALER</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_DEALER</em> is an advanced pattern used for extending
-request/reply sockets. Each message sent is load-balanced among all connected
+request/reply sockets. Each message sent is round-robined among all connected
peers, and each message received is fair-queued from all connected peers.</p></div>
<div class="paragraph"><p>Previously this socket was called <em>ZMQ_XREQ</em> and that name remains available
for backwards compatibility.</p></div>
@@ -833,7 +858,7 @@ Outgoing routing strategy </td>
<td class="hdlist2">
<p style="margin-top: 0;">
-Load-balanced
+Round-robin
</p>
</td>
</tr>
@@ -860,6 +885,8 @@ Block </td>
</tr>
</table></div>
+</div>
+<div class="sect3">
<h4 id="_zmq_router">ZMQ_ROUTER</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_ROUTER</em> is an advanced pattern used for extending
request/reply sockets. When receiving messages a <em>ZMQ_ROUTER</em> socket shall
@@ -950,9 +977,13 @@ Drop </td>
</tr>
</table></div>
-<h3 id="_publish_subscribe_pattern">Publish-subscribe pattern</h3><div style="clear:left"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_publish_subscribe_pattern">Publish-subscribe pattern</h3>
<div class="paragraph"><p>The publish-subscribe pattern is used for one-to-many distribution of data from
a single <em>publisher</em> to multiple <em>subscribers</em> in a fan out fashion.</p></div>
+<div class="sect3">
<h4 id="_zmq_pub">ZMQ_PUB</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_PUB</em> is used by a <em>publisher</em> to distribute data.
Messages sent are distributed in a fan out fashion to all connected peers.
@@ -1029,6 +1060,8 @@ Drop </td>
</tr>
</table></div>
+</div>
+<div class="sect3">
<h4 id="_zmq_sub">ZMQ_SUB</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_SUB</em> is used by a <em>subscriber</em> to subscribe to data
distributed by a <em>publisher</em>. Initially a <em>ZMQ_SUB</em> socket is not subscribed to
@@ -1103,14 +1136,18 @@ Drop </td>
</tr>
</table></div>
-<h3 id="_pipeline_pattern">Pipeline pattern</h3><div style="clear:left"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_pipeline_pattern">Pipeline pattern</h3>
<div class="paragraph"><p>The pipeline pattern is used for distributing data to <em>nodes</em> arranged in
a pipeline. Data always flows down the pipeline, and each stage of the pipeline
is connected to at least one <em>node</em>. When a pipeline stage is connected to
-multiple <em>nodes</em> data is load-balanced among all connected <em>nodes</em>.</p></div>
+multiple <em>nodes</em> data is round-robined among all connected <em>nodes</em>.</p></div>
+<div class="sect3">
<h4 id="_zmq_push">ZMQ_PUSH</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_PUSH</em> is used by a pipeline <em>node</em> to send messages
-to downstream pipeline <em>nodes</em>. Messages are load-balanced to all connected
+to downstream pipeline <em>nodes</em>. Messages are round-robined to all connected
downstream <em>nodes</em>. The <em>zmq_recv()</em> function is not implemented for this
socket type.</p></div>
<div class="paragraph"><p>When a <em>ZMQ_PUSH</em> socket enters an exceptional state due to having reached the
@@ -1171,7 +1208,7 @@ Outgoing routing strategy </td>
<td class="hdlist2">
<p style="margin-top: 0;">
-Load-balanced
+Round-robin
</p>
</td>
</tr>
@@ -1187,6 +1224,8 @@ Block </td>
</tr>
</table></div>
+</div>
+<div class="sect3">
<h4 id="_zmq_pull">ZMQ_PULL</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_PULL</em> is used by a pipeline <em>node</em> to receive messages
from upstream pipeline <em>nodes</em>. Messages are fair-queued from among all
@@ -1261,10 +1300,14 @@ N/A </td>
</tr>
</table></div>
-<h3 id="_exclusive_pair_pattern">Exclusive pair pattern</h3><div style="clear:left"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_exclusive_pair_pattern">Exclusive pair pattern</h3>
<div class="paragraph"><p>The exclusive pair pattern is used to connect a peer to precisely one other
peer. This pattern is used for inter-thread communication across the inproc
transport.</p></div>
+<div class="sect3">
<h4 id="_zmq_pair">ZMQ_PAIR</h4>
<div class="paragraph"><p>A socket of type <em>ZMQ_PAIR</em> can only be connected to a single peer at any one
time. No message routing or filtering is performed on messages sent over a
@@ -1353,12 +1396,18 @@ Block </tr>
</table></div>
</div>
+</div>
+</div>
+</div>
+<div class="sect1">
<h2 id="_return_value">RETURN VALUE</h2>
<div class="sectionbody">
<div class="paragraph"><p>The <em>zmq_socket()</em> function shall return an opaque handle to the newly created
socket if successful. Otherwise, it shall return NULL and set <em>errno</em> to one of
the values defined below.</p></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_errors">ERRORS</h2>
<div class="sectionbody">
<div class="dlist"><dl>
@@ -1396,6 +1445,8 @@ The context specified was terminated. </dd>
</dl></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph"><p><a href="zmq_init.html">zmq_init(3)</a>
@@ -1407,17 +1458,20 @@ The context specified was terminated. <a href="zmq_inproc.html">zmq_inproc(7)</a>
<a href="zmq.html">zmq(7)</a></p></div>
</div>
+</div>
+<div class="sect1">
<h2 id="_authors">AUTHORS</h2>
<div class="sectionbody">
<div class="paragraph"><p>This ØMQ manual page was written by Martin Sustrik <<a href="mailto:sustrik@250bpm.com">sustrik@250bpm.com</a>> and
Martin Lucina <<a href="mailto:mato@kotelna.sk">mato@kotelna.sk</a>>.</p></div>
</div>
</div>
+</div>
<div id="footnotes"><hr /></div>
<div id="footer">
<div id="footer-text">
-ØMQ 2.1.10<br />
-Last updated 2011-08-23 16:01:49 CDT
+ØMQ 2.1.11<br />
+Last updated 2011-11-13 15:51:38 CST
</div>
</div>
</body>
|