qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jonat...@apache.org
Subject svn commit: r967163 [1/4] - in /qpid/site/docs/books/0.7/Programming-In-Apache-Qpid: html/ pdf/
Date Fri, 23 Jul 2010 16:48:12 GMT
Author: jonathan
Date: Fri Jul 23 16:48:11 2010
New Revision: 967163

URL: http://svn.apache.org/viewvc?rev=967163&view=rev
Log:
.NET binding, various editorial changes.

Modified:
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch01.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s02.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s03.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s04.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s05.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s06.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s07.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s08.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s09.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s10.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s11.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s12.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch03.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch03s02.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch03s03.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch03s04.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch03s05.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch04.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch04s02.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch04s03.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch04s04.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch04s05.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/index.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/pdf/Programming-In-Apache-Qpid.fo
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/pdf/Programming-In-Apache-Qpid.pdf

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch01.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch01.html?rev=967163&r1=967162&r2=967163&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch01.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch01.html Fri Jul 23 16:48:11 2010
@@ -1,20 +1,20 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="index.html" title="Programming in Apache Qpid"><link rel="next" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 1. Introduction">
 <div class="titlepage"><div><div><h2 class="title"><a name="id2774235"></a>Chapter 1. Introduction</h2></div></div></div><p>Apache Qpid is a reliable, asynchronous messaging system that
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="index.html" title="Programming in Apache Qpid"><link rel="next" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 1. Introduction">
 <div class="titlepage"><div><div><h2 class="title"><a name="id2555163"></a>Chapter 1. Introduction</h2></div></div></div><p>Apache Qpid is a reliable, asynchronous messaging system that
       supports the AMQP messaging protocol in several common programming
       languages. Qpid is supported on most common platforms.
     </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
-          On the Java platform, Qpid uses the
-          established <a class="ulink" href="http://java.sun.com/products/jms/" target="_top">Java JMS
-            API</a>. 
-        </p></li><li class="listitem"><p>
-          On the .NET platform, Qpid defines
-          a <a class="ulink" href="http://qpid.apache.org/wcf.html" target="_top">WCF
-            binding</a>.
-        </p></li><li class="listitem"><p>
-          For Python, C++, and .NET, Qpid defines its own messaging API, the
-          <em class="firstterm">Qpid Messaging API</em>, which is
-          conceptually similar in each supported language.
-        </p></li><li class="listitem"><p>
-          Support for this API in Ruby will be added
-          soon (Ruby currently uses an API that is closely
+	  On the Java platform, Qpid uses the
+	  established <a class="ulink" href="http://java.sun.com/products/jms/" target="_top">Java JMS
+	  API</a>. 
+	</p></li><li class="listitem"><p>
+	  On the .NET platform, Qpid defines
+	  a <a class="ulink" href="http://qpid.apache.org/wcf.html" target="_top">WCF
+	  binding</a>.
+	</p></li><li class="listitem"><p>
+	  For Python and C++, Qpid defines its own messaging API, the
+	  <em class="firstterm">Qpid Messaging API</em>, which is
+	  conceptually similar in each supported language.
+	</p></li><li class="listitem"><p>
+	  Support for this API in Ruby will be added
+	  soon (Ruby currently uses an API that is closely
 	  tied to the AMQP version).
-        </p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Programming in Apache Qpid </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 2. Using the Qpid Messaging API</td></tr></table></div></body></html>
+	</p></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Programming in Apache Qpid </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 2. Using the Qpid Messaging API</td></tr></table></div></body></html>

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02.html?rev=967163&r1=967162&r2=967163&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02.html Fri Jul 23 16:48:11 2010
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 2. Using the Qpid Messaging API</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction"><link rel="next" href="ch02s02.html" title="2. A Simple Messaging Program in Python"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Using the Qpid Messaging API</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter" 
 title="Chapter 2. Using the Qpid Messaging API"><div class="titlepage"><div><div><h2 class="title"><a name="id2755578"></a>Chapter 2. Using the Qpid Messaging API</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch02.html#id2782717">1. A Simple Messaging Program in C++</a></span></dt><dt><span class="section"><a href="ch02s02.html">2. A Simple Messaging Program in Python</a></span></dt><dt><span class="section"><a href="ch02s03.html">3. A Simple Messaging Program in .NET C#</a></span></dt><dt><span class="section"><a href="ch02s04.html">4. Addresses</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s04.html#id2762724">4.1. Address Strings</a></span></dt><dt><span class="section"><a href="ch02s04.html#id2779643">4.2. Subjects</a></span></dt><dt><span class="section"><a href="ch02s04.html#id2758496">4.3. Address String Options</a></span></dt><dt><span class="section"><a href="ch02s04.html#section-addre
 ss-string-bnf">4.4. Address String Grammar</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s05.html">5. Logging</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s05.html#id2743901">5.1. Logging in C++</a></span></dt><dt><span class="section"><a href="ch02s05.html#id2743934">5.2. Logging in Python</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s06.html">6. Receiving Messages from Multiple Sources</a></span></dt><dt><span class="section"><a href="ch02s07.html">7. Request / Response</a></span></dt><dt><span class="section"><a href="ch02s08.html">8. Maps in Message Content</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s08.html#section-Python-Maps">8.1. Qpid Maps in Python</a></span></dt><dt><span class="section"><a href="ch02s08.html#section-cpp-Maps">8.2. Qpid Maps in C++</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s09.html">9. Performance</a></span></dt><dd><dl><dt><span class="section"><a href="
 ch02s09.html#id2727820">9.1. Batching Acknowledgements</a></span></dt><dt><span class="section"><a href="ch02s09.html#id2727840">9.2. Prefetch</a></span></dt><dt><span class="section"><a href="ch02s09.html#id2787527">9.3. Sizing the Replay Buffer</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s10.html">10. Reliability</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s10.html#id2787575">10.1. Reconnect</a></span></dt><dt><span class="section"><a href="ch02s10.html#id2787798">10.2. Guaranteed Delivery</a></span></dt><dt><span class="section"><a href="ch02s10.html#id2787839">10.3. Reliability Options in Senders and Receivers</a></span></dt><dt><span class="section"><a href="ch02s10.html#id2787939">10.4. Cluster Failover</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s11.html">11. Security</a></span></dt><dt><span class="section"><a href="ch02s12.html">12. Transactions</a></span></dt><dt><span class="section"><a href="ch02s13.html">
 13. The AMQP 0-10 mapping</a></span></dt></dl></div><p>The Qpid Messaging API is quite simple, consisting of only a
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 2. Using the Qpid Messaging API</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction"><link rel="next" href="ch02s02.html" title="2.2. A Simple Messaging Program in Python"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Using the Qpid Messaging API</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter
 " title="Chapter 2. Using the Qpid Messaging API"><div class="titlepage"><div><div><h2 class="title"><a name="id2586020"></a>Chapter 2. Using the Qpid Messaging API</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch02.html#id2549855">2.1. A Simple Messaging Program in C++</a></span></dt><dt><span class="section"><a href="ch02s02.html">2.2. A Simple Messaging Program in Python</a></span></dt><dt><span class="section"><a href="ch02s03.html">2.3. A Simple Messaging Program in .NET C#</a></span></dt><dt><span class="section"><a href="ch02s04.html">2.4. Addresses</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s04.html#id2575424">2.4.1. Address Strings</a></span></dt><dt><span class="section"><a href="ch02s04.html#id2576884">2.4.2. Subjects</a></span></dt><dt><span class="section"><a href="ch02s04.html#id2572829">2.4.3. Address String Options</a></span></dt><dt><span class="section"><a href="ch02s04.ht
 ml#section-address-string-bnf">2.4.4. Address String Grammar</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s05.html">2.5. Sender Capacity and Replay</a></span></dt><dt><span class="section"><a href="ch02s06.html">2.6. Receiver Capacity (Prefetch)</a></span></dt><dt><span class="section"><a href="ch02s07.html">2.7. Acknowledging Received Messages</a></span></dt><dt><span class="section"><a href="ch02s08.html">2.8. Receiving Messages from Multiple Sources</a></span></dt><dt><span class="section"><a href="ch02s09.html">2.9. Transactions</a></span></dt><dt><span class="section"><a href="ch02s10.html">2.10. Connection Options</a></span></dt><dt><span class="section"><a href="ch02s11.html">2.11. Maps in Message Content</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s11.html#section-Python-Maps">2.11.1. Qpid Maps in Python</a></span></dt><dt><span class="section"><a href="ch02s11.html#section-cpp-Maps">2.11.2. Qpid Maps in C++</a></span></dt><dt><sp
 an class="section"><a href="ch02s11.html#section-dotnet-Maps">2.11.3. Qpid Maps in .NET</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s12.html">2.12. The Request / Response Pattern</a></span></dt><dt><span class="section"><a href="ch02s13.html">2.13. Performance Tips</a></span></dt><dt><span class="section"><a href="ch02s14.html">2.14. Cluster Failover</a></span></dt><dt><span class="section"><a href="ch02s15.html">2.15. Logging</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s15.html#id2587947">2.15.1. Logging in C++</a></span></dt><dt><span class="section"><a href="ch02s15.html#id2587978">2.15.2. Logging in Python</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s16.html">2.16. The AMQP 0-10 mapping</a></span></dt></dl></div><p>The Qpid Messaging API is quite simple, consisting of only a
       handful of core classes.
     </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
           A <em class="firstterm">message</em> consists of a standard set
@@ -26,9 +26,9 @@
         </p></li></ul></div><p>
       The following sections show how to use these classes in a
       simple messaging program.
-    </p><div class="section" title="1. A Simple Messaging Program in C++"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2782717"></a>1. A Simple Messaging Program in C++</h2></div></div></div><p>The following C++ program shows how to create a connection,
+    </p><div class="section" title="2.1. A Simple Messaging Program in C++"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2549855"></a>2.1. A Simple Messaging Program in C++</h2></div></div></div><p>The following C++ program shows how to create a connection,
         create a session, send messages using a sender, and receive
-        messages using a receiver.</p><div class="example"><a name="id2782038"></a><p class="title"><b>Example 2.1. "Hello world!" in C++</b></p><div class="example-contents"><pre lang="c++" class="programlisting">
+        messages using a receiver.</p><div class="example"><a name="id2563434"></a><p class="title"><b>Example 2.1. "Hello world!" in C++</b></p><div class="example-contents"><pre lang="c++" class="programlisting">
 #include &lt;qpid/messaging/Connection.h&gt;
 #include &lt;qpid/messaging/Message.h&gt;
 #include &lt;qpid/messaging/Receiver.h&gt;
@@ -63,4 +63,6 @@ int main(int argc, char** argv) {
         connection.close();
         return 1;   
     }
-}</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-open"></a><a href="#hello-cpp-open">(1)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-session"></a><a href="#hello-cpp-session">(2)</a> </p></td><td valign="top" align="left"><p>Creates a session object, which maintains the state of all interactions with the messaging broker, and manages senders and receivers.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-receiver"></a><a href="#hello-cpp-receiver">(3)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that reads from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-sender"></a><a href="#hello-cpp-sender">(4)</a> </p></td><td valign="top" align="left">
 <p>Creates a sender that sends to the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-fetch"></a><a href="#hello-cpp-fetch">(5)</a> </p></td><td valign="top" align="left"><p>Reads the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-acknowledge"></a><a href="#hello-cpp-acknowledge">(6)</a> </p></td><td valign="top" align="left"><p>Acknowledges messages that have been read. To guarantee delivery, a message remains on the messaging broker until it is acknowledged by a client. session.acknowledge() acknowledges all unacknowledged messages for the given session&#8212;this allows acknowledgements to be batched, which is  more efficient than acknowledging messages individually.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-close"></a><a href="#hello-cpp-close">(7)</a> <
 /p></td><td valign="top" align="left"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr></table></div></div></div><br class="example-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. Introduction </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2. A Simple Messaging Program in Python</td></tr></table></div></body></html>
+}</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-open"></a><a href="#hello-cpp-open">(1)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-session"></a><a href="#hello-cpp-session">(2)</a> </p></td><td valign="top" align="left"><p>Creates a session object on which messages will be sent and received.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-receiver"></a><a href="#hello-cpp-receiver">(3)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that receives messages from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-sender"></a><a href="#hello-cpp-sender">(4)</a> </p></td><td valign="top" align="left"><p>Creates a sender that sends to the given address.
 </p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-fetch"></a><a href="#hello-cpp-fetch">(5)</a> </p></td><td valign="top" align="left"><p>Receives the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-acknowledge"></a><a href="#hello-cpp-acknowledge">(6)</a> </p></td><td valign="top" align="left"><p>Acknowledges receipt of all fetched messages on the
+	  session. This informs the broker that the messages were
+	  transferred and processed by the client successfully.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-close"></a><a href="#hello-cpp-close">(7)</a> </p></td><td valign="top" align="left"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr></table></div></div></div><br class="example-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. Introduction </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.2. A Simple Messaging Program in Python</td></tr></table></div></body></html>

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s02.html?rev=967163&r1=967162&r2=967163&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s02.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s02.html Fri Jul 23 16:48:11 2010
@@ -1,6 +1,6 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2. A Simple Messaging Program in Python</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="next" href="ch02s03.html" title="3. A Simple Messaging Program in .NET C#"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2. A Simple Messaging Program in Python</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch0
 2s03.html">Next</a></td></tr></table><hr></div><div class="section" title="2. A Simple Messaging Program in Python"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2764277"></a>2. A Simple Messaging Program in Python</h2></div></div></div><p>The following Python program shows how to create a
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.2. A Simple Messaging Program in Python</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="next" href="ch02s03.html" title="2.3. A Simple Messaging Program in .NET C#"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. A Simple Messaging Program in Python</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" hre
 f="ch02s03.html">Next</a></td></tr></table><hr></div><div class="section" title="2.2. A Simple Messaging Program in Python"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2555281"></a>2.2. A Simple Messaging Program in Python</h2></div></div></div><p>The following Python program shows how to create a
         connection, create a session, send messages using a sender, and
-        receive messages using a receiver.</p><div class="example"><a name="id2747068"></a><p class="title"><b>Example 2.2. "Hello world!" in Python</b></p><div class="example-contents"><pre lang="python" class="programlisting">
+        receive messages using a receiver.</p><div class="example"><a name="id2585596"></a><p class="title"><b>Example 2.2. "Hello world!" in Python</b></p><div class="example-contents"><pre lang="python" class="programlisting">
 import sys
 from qpid.messaging import *
 
@@ -26,4 +26,6 @@ except MessagingError,m:
   print m
 finally:
   connection.close()  <a class="co" name="hello-python-close" href="ch02s02.html#callout-python-close">(7)</a>
-</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-open"></a><a href="#hello-python-open">(1)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-session"></a><a href="#hello-python-session">(2)</a> </p></td><td valign="top" align="left"><p>Creates a session object, which maintains the state of all interactions with the messaging broker, and manages senders and receivers.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-receiver"></a><a href="#hello-python-receiver">(4)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that reads from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-sender"></a><a href="#hello-python-sender">(3)</a> </p></td><td val
 ign="top" align="left"><p>Creates a sender that sends to the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-fetch"></a><a href="#hello-python-fetch">(5)</a> </p></td><td valign="top" align="left"><p>Reads the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-acknowledge"></a><a href="#hello-python-acknowledge">(6)</a> </p></td><td valign="top" align="left"><p>Acknowledges messages that have been read. To guarantee delivery, a message remains on the messaging broker until it is acknowledged by a client. session.acknowledge() acknowledges all unacknowledged messages for the given session&#8212;this allows acknowledgements to be batched, which is  more efficient than acknowledging messages individually.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-close"></
 a><a href="#hello-python-close">(7)</a> </p></td><td valign="top" align="left"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr></table></div></div></div><br class="example-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. Using the Qpid Messaging API </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 3. A Simple Messaging Program in .NET C#</td></tr></table></div></body></html>
+</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-open"></a><a href="#hello-python-open">(1)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-session"></a><a href="#hello-python-session">(2)</a> </p></td><td valign="top" align="left"><p>Creates a session object on which messages will be sent and received.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-receiver"></a><a href="#hello-python-receiver">(4)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that receives messages from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-sender"></a><a href="#hello-python-sender">(3)</a> </p></td><td valign="top" align="left"><p>Creates a sender that send
 s to the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-fetch"></a><a href="#hello-python-fetch">(5)</a> </p></td><td valign="top" align="left"><p>Receives the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-acknowledge"></a><a href="#hello-python-acknowledge">(6)</a> </p></td><td valign="top" align="left"><p>Acknowledges receipt of all fetched messages on
+	  the session. This informs the broker that the messages were
+	  transfered and processed by the client successfully.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-python-close"></a><a href="#hello-python-close">(7)</a> </p></td><td valign="top" align="left"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr></table></div></div></div><br class="example-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 2. Using the Qpid Messaging API </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.3. A Simple Messaging Progr
 am in .NET C#</td></tr></table></div></body></html>

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s03.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s03.html?rev=967163&r1=967162&r2=967163&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s03.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s03.html Fri Jul 23 16:48:11 2010
@@ -1,6 +1,9 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>3. A Simple Messaging Program in .NET C#</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s02.html" title="2. A Simple Messaging Program in Python"><link rel="next" href="ch02s04.html" title="4. Addresses"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">3. A Simple Messaging Program in .NET C#</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></
 td></tr></table><hr></div><div class="section" title="3. A Simple Messaging Program in .NET C#"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2778332"></a>3. A Simple Messaging Program in .NET C#</h2></div></div></div><p>The following .NET C# program shows how to create a connection,
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.3. A Simple Messaging Program in .NET C#</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s02.html" title="2.2. A Simple Messaging Program in Python"><link rel="next" href="ch02s04.html" title="2.4. Addresses"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. A Simple Messaging Program in .NET C#</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Ne
 xt</a></td></tr></table><hr></div><div class="section" title="2.3. A Simple Messaging Program in .NET C#"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2575179"></a>2.3. A Simple Messaging Program in .NET C#</h2></div></div></div><p>The following .NET C# program shows how to create a connection,
         create a session, send messages using a sender, and receive
-        messages using a receiver.</p><div class="example"><a name="id2783534"></a><p class="title"><b>Example 2.3. "Hello world!" in .NET C#</b></p><div class="example-contents"><pre lang="c++" class="programlisting">
+        messages using a receiver. The .NET binding for the Qpid C++ Messaging API
+        applies to all .NET Framework managed code languages. C# was chosen
+        for illustration purposes only.
+      </p><div class="example"><a name="id2579550"></a><p class="title"><b>Example 2.3. "Hello world!" in .NET C#</b></p><div class="example-contents"><pre lang="c++" class="programlisting">
 using System;
 using Org.Apache.Qpid.Messaging;  <a class="co" name="hello-csharp-using" href="ch02s03.html#callout-csharp-using">(1)</a>
 
@@ -36,4 +39,6 @@ namespace Org.Apache.Qpid.Messaging {
     }
 }
 
-</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-using"></a><a href="#hello-csharp-using">(1)</a> </p></td><td valign="top" align="left"><p>Selects the Qpid Messaging namespace. A project reference to the Org.Apache.Qpid.Messaging dll defines the Qpid Messaging namespace objects and methods.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-open"></a><a href="#hello-csharp-open">(2)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-session"></a><a href="#hello-csharp-session">(3)</a> </p></td><td valign="top" align="left"><p>Creates a session object, which maintains the state of all interactions with the messaging broker, and manages senders and receivers.</p></td></tr><tr><td width="5%" valign="top" align="left"><
 p><a name="callout-csharp-receiver"></a><a href="#hello-csharp-receiver">(4)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that reads from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-sender"></a><a href="#hello-csharp-sender">(5)</a> </p></td><td valign="top" align="left"><p>Creates a sender that sends to the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-fetch"></a><a href="#hello-csharp-fetch">(6)</a> </p></td><td valign="top" align="left"><p>Reads the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-acknowledge"></a><a href="#hello-csharp-acknowledge">(7)</a> </p></td><td valign="top" align="left"><p>Acknowledges messages that have been read. To guarantee delivery, a message remains on the messaging broker until
  it is acknowledged by a client. session.acknowledge() acknowledges all unacknowledged messages for the given session&#8212;this allows acknowledgements to be batched, which is  more efficient than acknowledging messages individually.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-close"></a><a href="#hello-csharp-close">(8)</a> </p></td><td valign="top" align="left"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr></table></div></div></div><br class="example-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2. A Simple Messagi
 ng Program in Python </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 4. Addresses</td></tr></table></div></body></html>
+</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-using"></a><a href="#hello-csharp-using">(1)</a> </p></td><td valign="top" align="left"><p>Selects the Qpid Messaging namespace. A project reference to the Org.Apache.Qpid.Messaging dll defines the Qpid Messaging namespace objects and methods.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-open"></a><a href="#hello-csharp-open">(2)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-session"></a><a href="#hello-csharp-session">(3)</a> </p></td><td valign="top" align="left"><p>Creates a session object on which messages will be sent and received.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-receiver"></a><a href="#hello-csharp-r
 eceiver">(4)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that receives messages from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-sender"></a><a href="#hello-csharp-sender">(5)</a> </p></td><td valign="top" align="left"><p>Creates a sender that sends to the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-fetch"></a><a href="#hello-csharp-fetch">(6)</a> </p></td><td valign="top" align="left"><p>Receives the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-acknowledge"></a><a href="#hello-csharp-acknowledge">(7)</a> </p></td><td valign="top" align="left"><p>Acknowledges receipt of all fetched messages on the
+	  session. This informs the broker that the messages were
+	  transfered and processed by the client successfully.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-close"></a><a href="#hello-csharp-close">(8)</a> </p></td><td valign="top" align="left"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr></table></div></div></div><br class="example-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. A Simple Messaging Program in Python </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.4. Addresses</td></tr><
 /table></div></body></html>

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s04.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s04.html?rev=967163&r1=967162&r2=967163&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s04.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s04.html Fri Jul 23 16:48:11 2010
@@ -1,7 +1,7 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4. Addresses</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s03.html" title="3. A Simple Messaging Program in .NET C#"><link rel="next" href="ch02s05.html" title="5. Logging"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4. Addresses</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Next</a></td></tr></table><hr></div><div class="section" title="4.
 Addresses"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section-addresses"></a>4. Addresses</h2></div></div></div><p>An <em class="firstterm">address</em> is the name of a message
-      target or message source. In the programs we have just seen, we
-      used the address <code class="literal">amq.topic</code> (which is the name
-      of an exchange on an AMQP 0-10 messaging broker).
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.4. Addresses</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s03.html" title="2.3. A Simple Messaging Program in .NET C#"><link rel="next" href="ch02s05.html" title="2.5. Sender Capacity and Replay"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. Addresses</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Next</a></td></tr></table><hr></div><div
  class="section" title="2.4. Addresses"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section-addresses"></a>2.4. Addresses</h2></div></div></div><p>An <em class="firstterm">address</em> is the name of a message
+      target or message source. 
+
+      <sup>[<a name="id2568054" href="#ftn.id2568054" class="footnote">1</a>]</sup>
       
       The methods that create senders and receivers require an
       address. The details of sending to a particular target or
@@ -12,22 +12,22 @@
       Qpid Messaging API recognises two kinds of nodes,
       <em class="firstterm">queues</em> and <em class="firstterm">topics</em>
 
-	   <sup>[<a name="id2758681" href="#ftn.id2758681" class="footnote">1</a>]</sup>.
+	   <sup>[<a name="id2563905" href="#ftn.id2563905" class="footnote">2</a>]</sup>.
 
       A queue stores each message until it has been received and
       acknowledged, and only one receiver can receive a given message
 
-            <sup>[<a name="id2776261" href="#ftn.id2776261" class="footnote">2</a>]</sup>.
+            <sup>[<a name="id2559123" href="#ftn.id2559123" class="footnote">3</a>]</sup>.
 
       A topic immediately delivers a message to all eligible
       receivers; if there are no eligible receivers, it discards the
       message.  In the AMQP 0-10 implementation of the API,
       
-          <sup>[<a name="id2748517" href="#ftn.id2748517" class="footnote">3</a>]</sup>
+          <sup>[<a name="id2584368" href="#ftn.id2584368" class="footnote">4</a>]</sup>
 
       queues map to AMQP queues, and topics map to AMQP exchanges.
 
-          <sup>[<a name="id2781373" href="#ftn.id2781373" class="footnote">4</a>]</sup>
+          <sup>[<a name="id2563235" href="#ftn.id2563235" class="footnote">5</a>]</sup>
       </p><p>In the rest of this tutorial, we present many examples
       using two programs that take an address as a command line
       parameter.  <span class="command"><strong>spout</strong></span> sends messages to the
@@ -39,13 +39,13 @@
       configure behavior&#8212;use the <span class="command"><strong>-h</strong></span> option
       for documentation on these options. 
 
-      <sup>[<a name="id2750500" href="#ftn.id2750500" class="footnote">5</a>]</sup>
+      <sup>[<a name="id2573783" href="#ftn.id2573783" class="footnote">6</a>]</sup>
 
 
       The examples in this tutorial also use the
       <span class="command"><strong>qpid-config</strong></span> utility to configure AMQP 0-10
       queues and exchanges on a Qpid broker.
-      </p><div class="example"><a name="id2774577"></a><p class="title"><b>Example 2.4. Queues</b></p><div class="example-contents"><p>Create a queue with <span class="command"><strong>qpid-config</strong></span>, send a message using
+      </p><div class="example"><a name="id2573596"></a><p class="title"><b>Example 2.4. Queues</b></p><div class="example-contents"><p>Create a queue with <span class="command"><strong>qpid-config</strong></span>, send a message using
           <span class="command"><strong>spout</strong></span>, and read it using <span class="command"><strong>drain</strong></span>:</p><pre class="screen">
 $ qpid-config add queue hello-world
 $ ./spout hello-world
@@ -58,7 +58,7 @@ Message(properties={spout-id:c877e622-d5
 	<span class="command"><strong>drain</strong></span> one more time, no messages will be retrieved.</p><pre class="screen">
 $ ./drain hello-world
 $
-	</pre></div></div><br class="example-break"><div class="example"><a name="id2771980"></a><p class="title"><b>Example 2.5. Topics</b></p><div class="example-contents"><p>This example is similar to the previous example, but it
+	</pre></div></div><br class="example-break"><div class="example"><a name="id2584239"></a><p class="title"><b>Example 2.5. Topics</b></p><div class="example-contents"><p>This example is similar to the previous example, but it
 	uses a topic instead of a queue.</p><p>First, use <span class="command"><strong>qpid-config</strong></span> to remove the queue
 	and create an exchange with the same name:</p><pre class="screen">
 $ qpid-config del queue hello-world
@@ -85,7 +85,7 @@ $ ./spout hello-word
 Message(properties={spout-id:7da2d27d-93e6-4803-8a61-536d87b8d93f:0}, content='')
         </pre><p>You can run <span class="command"><strong>drain</strong></span> in several separate
           windows; each creates a subscription for the exchange, and
-          each receives all messages sent to the exchange.</p></div></div><br class="example-break"><div class="section" title="4.1. Address Strings"><div class="titlepage"><div><div><h3 class="title"><a name="id2762724"></a>4.1. Address Strings</h3></div></div></div><p>So far, our examples have used address strings that
+          each receives all messages sent to the exchange.</p></div></div><br class="example-break"><div class="section" title="2.4.1. Address Strings"><div class="titlepage"><div><div><h3 class="title"><a name="id2575424"></a>2.4.1. Address Strings</h3></div></div></div><p>So far, our examples have used address strings that
 	contain only the name of a node. An <em class="firstterm">address
 	string</em> can also contain a
 	<em class="firstterm">subject</em> and
@@ -95,9 +95,9 @@ options ::=  { &lt;key&gt; : &lt;value&g
 </pre><p>Addresses, subjects, and keys are strings.  Values can
 	be numbers, strings (with optional single or double quotes),
 	maps, or lists. A complete BNF for address strings appears in
-	<a class="xref" href="ch02s04.html#section-address-string-bnf" title="4.4. Address String Grammar">Section 4.4, &#8220;Address String Grammar&#8221;</a>.</p><p>So far, the address strings in this tutorial have used
-	only addresses. The following sections show how to use
-	subjects and options.</p></div><div class="section" title="4.2. Subjects"><div class="titlepage"><div><div><h3 class="title"><a name="id2779643"></a>4.2. Subjects</h3></div></div></div><p>Every message has a property called
+	<a class="xref" href="ch02s04.html#section-address-string-bnf" title="2.4.4. Address String Grammar">Section 2.4.4, &#8220;Address String Grammar&#8221;</a>.</p><p>So far, the address strings in this tutorial have only
+	used simple names. The following sections show how to use
+	subjects and options.</p></div><div class="section" title="2.4.2. Subjects"><div class="titlepage"><div><div><h3 class="title"><a name="id2576884"></a>2.4.2. Subjects</h3></div></div></div><p>Every message has a property called
 	<em class="firstterm">subject</em>, which is analogous to the
 	subject on an email message. If no subject is specified, the
 	message's subject is null. For convenience, address strings
@@ -110,16 +110,13 @@ options ::=  { &lt;key&gt; : &lt;value&g
 	algorithm depends on the message source.
       </p><p>
 	In AMQP 0-10, each exchange type has its own matching
-	algorithm, and queues do not provide filtering. This is
-	discussed in <a class="xref" href="ch02s13.html" title="13. The AMQP 0-10 mapping">Section 13, &#8220;The AMQP 0-10 mapping&#8221;</a>.
+	algorithm. This is discussed in
+	<a class="xref" href="ch02s16.html" title="2.16. The AMQP 0-10 mapping">Section 2.16, &#8220;The AMQP 0-10 mapping&#8221;</a>.
       </p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
 	  Currently, a receiver bound to a queue ignores subjects,
-	  receiving messages from the queue without filtering.
-
-	  In the future, if a receiver is bound to a queue, and its
-	  address contains a subject, the subject will be used as a
-	  selector to filter messages.
-	</p></div><div class="example"><a name="id2766463"></a><p class="title"><b>Example 2.6. Using subjects</b></p><div class="example-contents"><p>In this example we show how subjects affect message
+	  receiving messages from the queue without filtering. Support
+	  for subject filtering on queues will be implemented soon.
+	</p></div><div class="example"><a name="id2567378"></a><p class="title"><b>Example 2.6. Using subjects</b></p><div class="example-contents"><p>In this example we show how subjects affect message
         flow.</p><p>First, let's use <span class="command"><strong>qpid-config</strong></span> to create a topic exchange.</p><pre class="screen">
 $ qpid-config add exchange topic news-service
         </pre><p>Now we use drain to receive messages from <code class="literal">news-service</code> that match the subject <code class="literal">sports</code>.</p><p><span class="emphasis"><em>First Window:</em></span></p><pre class="screen">
@@ -155,7 +152,7 @@ Message(properties={qpid.subject:sports,
 	<code class="literal">usa.news</code>; if it is
 	<code class="literal">europe.#</code>, it matches messages with subjects
 	like <code class="literal">europe.news</code> or
-	<code class="literal">europe.pseudo.news</code>.</p><div class="example"><a name="id2776739"></a><p class="title"><b>Example 2.7. Subjects with multi-word keys</b></p><div class="example-contents"><p>This example uses drain and spout to demonstrate the
+	<code class="literal">europe.pseudo.news</code>.</p><div class="example"><a name="id2582279"></a><p class="title"><b>Example 2.7. Subjects with multi-word keys</b></p><div class="example-contents"><p>This example uses drain and spout to demonstrate the
 	    use of subjects with two-word keys.</p><p>Let's use <span class="command"><strong>drain</strong></span> with the subject
 	    <code class="literal">*.news</code> to listen for messages in which
 	    the second word of the key is
@@ -190,8 +187,8 @@ $ ./spout news-service/usa.faux.sports
 Message(properties={qpid.subject:news, spout-id:cbd42b0f-c87b-4088-8206-26d7627c9640:0}, content='')
 Message(properties={qpid.subject:usa.news, spout-id:234a78d7-daeb-4826-90e1-1c6540781eac:0}, content='')
 Message(properties={qpid.subject:usa.faux.news, spout-id:6029430a-cfcb-4700-8e9b-cbe4a81fca5f:0}, content='')
-        </pre></div></div><br class="example-break"></div><div class="section" title="4.3. Address String Options"><div class="titlepage"><div><div><h3 class="title"><a name="id2758496"></a>4.3. Address String Options</h3></div></div></div><p>
-        The options in an address string contain additional
+        </pre></div></div><br class="example-break"></div><div class="section" title="2.4.3. Address String Options"><div class="titlepage"><div><div><h3 class="title"><a name="id2572829"></a>2.4.3. Address String Options</h3></div></div></div><p>
+        The options in an address string can contain additional
         information for the senders or receivers created for it,
         including:
       </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
@@ -217,21 +214,20 @@ Message(properties={qpid.subject:usa.fau
 	    works in <code class="literal">browse</code> mode, leaving messages
 	    on the queue so other receivers can receive them.
           </p></li><li class="listitem"><p>
-            Extension points that rely on the functionality of specific node types.
+            Extension points providing more direct control over the underlying protocol.
 	  </p><p>
-	    For instance, the Qpid XML exchange can use XQuery to do
-	    content-based routing for XML messages, or to query
-	    message data using XQuery. Queries can be specified using
-	    options.
+	    For instance, the <code class="literal">x-bindings</code> property
+	    allows greater control over the AMQP 0-10 binding process
+	    when an address is resolved.
           </p></li></ul></div><p>
         Let's use some examples to show how these different kinds of
         address string options affect the behavior of senders and
         receives.
-      </p><div class="section" title="4.3.1. assert"><div class="titlepage"><div><div><h4 class="title"><a name="id2743186"></a>4.3.1. assert</h4></div></div></div><p>
+      </p><div class="section" title="2.4.3.1. assert"><div class="titlepage"><div><div><h4 class="title"><a name="id2585863"></a>2.4.3.1. assert</h4></div></div></div><p>
 	In this section, we use the <code class="literal">assert</code> option
 	to ensure that the address resolves to a node of the required
 	type.
-      </p><div class="example"><a name="id2764387"></a><p class="title"><b>Example 2.8. Assertions on Nodes</b></p><div class="example-contents"><p>Let's use <span class="command"><strong>qpid-config</strong></span> to create a
+      </p><div class="example"><a name="id2577248"></a><p class="title"><b>Example 2.8. Assertions on Nodes</b></p><div class="example-contents"><p>Let's use <span class="command"><strong>qpid-config</strong></span> to create a
         queue and a topic.</p><pre class="screen">
 $ qpid-config add queue my-queue
 $ qpid-config add exchange topic my-topic
@@ -256,15 +252,15 @@ $ ./drain 'my-topic; {assert: always, no
 Queue my-topic does not exist
 	</pre></div></div><br class="example-break"><p>Now let's use the <code class="literal">create</code> option to
       create the queue <code class="literal">xoxox</code> if it does not already
-      exist:</p></div><div class="section" title="4.3.2. create"><div class="titlepage"><div><div><h4 class="title"><a name="id2766439"></a>4.3.2. create</h4></div></div></div><p>In previous examples, we created the queue before
+      exist:</p></div><div class="section" title="2.4.3.2. create"><div class="titlepage"><div><div><h4 class="title"><a name="id2584566"></a>2.4.3.2. create</h4></div></div></div><p>In previous examples, we created the queue before
 	listening for messages on it. Using <code class="literal">create:
 	always</code>, the queue is automatically created if it
-	does not exist.</p><div class="example"><a name="id2755517"></a><p class="title"><b>Example 2.9. Creating a Queue Automatically</b></p><div class="example-contents"><p><span class="emphasis"><em>First Window:</em></span></p><pre class="screen">$ ./drain -t 30 "xoxox ; {create: always}"</pre><p>Now we can send messages to this queue:</p><p><span class="emphasis"><em>Second Window:</em></span></p><pre class="screen">$ ./spout "xoxox ; {create: always}"</pre><p>Returning to the first window, we see that <span class="command"><strong>drain</strong></span> has received this message:</p><pre class="screen">Message(properties={spout-id:1a1a3842-1a8b-4f88-8940-b4096e615a7d:0}, content='')</pre></div></div><br class="example-break"></div><div class="section" title="4.3.3. browse"><div class="titlepage"><div><div><h4 class="title"><a name="id2746592"></a>4.3.3. browse</h4></div></div></div><p>Some options specify message transfer semantics; for
+	does not exist.</p><div class="example"><a name="id2578162"></a><p class="title"><b>Example 2.9. Creating a Queue Automatically</b></p><div class="example-contents"><p><span class="emphasis"><em>First Window:</em></span></p><pre class="screen">$ ./drain -t 30 "xoxox ; {create: always}"</pre><p>Now we can send messages to this queue:</p><p><span class="emphasis"><em>Second Window:</em></span></p><pre class="screen">$ ./spout "xoxox ; {create: always}"</pre><p>Returning to the first window, we see that <span class="command"><strong>drain</strong></span> has received this message:</p><pre class="screen">Message(properties={spout-id:1a1a3842-1a8b-4f88-8940-b4096e615a7d:0}, content='')</pre></div></div><br class="example-break"></div><div class="section" title="2.4.3.3. browse"><div class="titlepage"><div><div><h4 class="title"><a name="id2558844"></a>2.4.3.3. browse</h4></div></div></div><p>Some options specify message transfer semantics; for
 	instance, they may state whether messages should be consumed or
 	read in browsing mode, or specify reliability
 	characteristics. The following example uses the
 	<code class="literal">browse</code> option to receive messages without
-	removing them from a queue.</p><div class="example"><a name="id2768982"></a><p class="title"><b>Example 2.10. Browsing a Queue</b></p><div class="example-contents"><p>
+	removing them from a queue.</p><div class="example"><a name="id2552039"></a><p class="title"><b>Example 2.10. Browsing a Queue</b></p><div class="example-contents"><p>
           Let's use the browse mode to receive messages without
           removing them from the queue. First we send three messages to the
           queue:
@@ -282,13 +278,18 @@ $ ./drain 'my-queue; {mode: browse}'
 Message(properties={spout-id:fbb93f30-0e82-4b6d-8c1d-be60eb132530:0}, content='one')
 Message(properties={spout-id:ab9e7c31-19b0-4455-8976-34abe83edc5f:0}, content='two')
 Message(properties={spout-id:ea75d64d-ea37-47f9-96a9-d38e01c97925:0}, content='three')
-        </pre></div></div><br class="example-break"></div><div class="section" title="4.3.4. x-bindings"><div class="titlepage"><div><div><h4 class="title"><a name="id2785819"></a>4.3.4. x-bindings</h4></div></div></div><p><code class="literal">x-bindings</code> allows an address string
-	to specify properties AMQP 0-10 bindings. For instance, the
-	XML Exchange is an AMQP 0-10 custom exchange provided by the
-	Apache Qpid C++ broker. It allows messages to be filtered
-	using XQuery; queries can address either message properties or
-	XML content in the body of the message. These queries can be
-	specified in addresses using x-bindings</p><p>An instance of the XML Exchange must be added before it
+        </pre></div></div><br class="example-break"></div><div class="section" title="2.4.3.4. x-bindings"><div class="titlepage"><div><div><h4 class="title"><a name="id2574141"></a>2.4.3.4. x-bindings</h4></div></div></div><p>Greater control over the AMQP 0-10 binding process can
+	be achieved by including an <code class="literal">x-bindings</code>
+	option in an address string.
+
+	For instance, the XML Exchange is an AMQP 0-10 custom exchange
+	provided by the Apache Qpid C++ broker. It allows messages to
+	be filtered using XQuery; queries can address either message
+	properties or XML content in the body of the message. The
+	xquery is specified in the arguments field of the AMQP 0-10
+	command. When using the messaging API an xquery can be
+	specified in and address that resolves to an XML exchange by
+	using the x-bindings property.</p><p>An instance of the XML Exchange must be added before it
 	can be used:</p><pre class="programlisting">
 $ qpid-config add exchange xml xml
 	</pre><p>When using the XML Exchange, a receiver provides an
@@ -307,7 +308,7 @@ xml; {
   </pre><p>When using longer queries with <span class="command"><strong>drain</strong></span>,
 	it is often useful to place the query in a file, and use
 	<span class="command"><strong>cat</strong></span> in the command line. We do this in the
-	following example.</p><div class="example"><a name="id2782446"></a><p class="title"><b>Example 2.11. Using the XML Exchange</b></p><div class="example-contents"><p>This example uses an x-binding that contains queries, which filter based on the content of XML messages. Here is an XQuery that we will use in this example:</p><pre class="programlisting">
+	following example.</p><div class="example"><a name="id2551909"></a><p class="title"><b>Example 2.11. Using the XML Exchange</b></p><div class="example-contents"><p>This example uses an x-binding that contains queries, which filter based on the content of XML messages. Here is an XQuery that we will use in this example:</p><pre class="programlisting">
 	  
 let $w := ./weather 
 return $w/station = 'Raleigh-Durham International Airport (KRDU)' 
@@ -336,7 +337,7 @@ content='&lt;weather&gt;
   &lt;temperature_f&gt;40&lt;/temperature_f&gt;
   &lt;dewpoint&gt;35&lt;/dewpoint&gt;
 &lt;/weather&gt;') 
-	</pre></div></div><br class="example-break"></div><div class="section" title="4.3.5. Address String Options - Reference"><div class="titlepage"><div><div><h4 class="title"><a name="id2759254"></a>4.3.5. Address String Options - Reference</h4></div></div></div><div class="table"><a name="id2771356"></a><p class="title"><b>Table 2.1. Address String Options</b></p><div class="table-contents"><table summary="Address String Options" width="100%" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>option</th><th>value</th><th>semantics</th></tr></thead><tbody><tr><td>
+	</pre></div></div><br class="example-break"></div><div class="section" title="2.4.3.5. Address String Options - Reference"><div class="titlepage"><div><div><h4 class="title"><a name="id2578764"></a>2.4.3.5. Address String Options - Reference</h4></div></div></div><div class="table"><a name="id2563511"></a><p class="title"><b>Table 2.1. Address String Options</b></p><div class="table-contents"><table summary="Address String Options" width="100%" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>option</th><th>value</th><th>semantics</th></tr></thead><tbody><tr><td>
 	        assert
 	      </td><td>
 	        one of: always, never, sender or receiver
@@ -384,8 +385,8 @@ content='&lt;weather&gt;
                 that resolve to a queue. If browse is specified the
                 messages delivered to the receiver are left on the queue
                 rather than being removed. If consume is specified the
-                normal behaviour applies; messages are removed from teh
-                queue once the client acknoweldges their receipt.
+                normal behaviour applies; messages are removed from the
+                queue once the client acknowledges their receipt.
 	      </td></tr></tbody></table></div></div><br class="table-break"><div class="table"><a name="table-node-properties"></a><p class="title"><b>Table 2.2. Node Properties</b></p><div class="table-contents"><table summary="Node Properties" width="100%" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>property</th><th>value</th><th>semantics</th></tr></thead><tbody><tr><td>
 	        type
 	      </td><td>
@@ -451,7 +452,9 @@ content='&lt;weather&gt;
 		a message is not lost, but duplicates may be
 		received. <code class="literal">exactly-once</code> guarantees
 		that a message is not lost, and is delivered precisely
-		once.
+		once. Currently only <code class="literal">unreliable</code>
+		and <code class="literal">at-least-once</code> are supported.
+                <sup>[<a name="id2529155" href="#ftn.id2529155" class="footnote">a</a>]</sup>
 	      </td></tr><tr><td>
 	        durable
 	      </td><td>
@@ -486,7 +489,12 @@ content='&lt;weather&gt;
                 independent of the create option. They are considered
                 logically part of the linking process rather than of
                 node creation.
-	      </td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="section" title="4.4. Address String Grammar"><div class="titlepage"><div><div><h3 class="title"><a name="section-address-string-bnf"></a>4.4. Address String Grammar</h3></div></div></div><p>This section provides a formal grammar for address strings.</p><p title="Tokens"><b>Tokens. </b>The following regular expressions define the tokens used
+	      </td></tr></tbody><tbody class="footnotes"><tr><td colspan="3"><div class="footnote"><p><sup>[<a name="ftn.id2529155" href="#id2529155" class="para">a</a>] </sup>If at-most-once is requested,
+                unreliable will be used and for durable messages on
+                durable queues there is the possibility that messages
+                will be redelivered; if exactly-once is requested,
+                at-most-once will be used and the application needs to
+                be able to deal with duplicates.</p></div></td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="section" title="2.4.4. Address String Grammar"><div class="titlepage"><div><div><h3 class="title"><a name="section-address-string-bnf"></a>2.4.4. Address String Grammar</h3></div></div></div><p>This section provides a formal grammar for address strings.</p><p title="Tokens"><b>Tokens. </b>The following regular expressions define the tokens used
       to parse address strings:</p><pre class="programlisting">
 LBRACE: \\{
 RBRACE: \\}
@@ -537,7 +545,10 @@ options := map
 </pre><div class="itemizedlist" title="Create, Delete, and Assert Policies"><p class="title"><b>Create, Delete, and Assert Policies</b></p><p>The create, delete, and assert policies specify who should
       perfom the associated action:</p><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>always</em></span>: the action is performed by any messaging client</p></li><li class="listitem"><p><span class="emphasis"><em>sender</em></span>: the action is only performed by a sender</p></li><li class="listitem"><p><span class="emphasis"><em>receiver</em></span>: the action is only performed by a receiver</p></li><li class="listitem"><p><span class="emphasis"><em>never</em></span>: the action is never performed (this is the default)</p></li></ul></div><div class="itemizedlist" title="Node-Type"><p class="title"><b>Node-Type</b></p><p>The node-type is one of:</p><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>topic</em></span>: in the AMQP 0-10
        mapping, a topic node defaults to the topic exchange, x-declare
-       may be used to specify other exchange types</p></li><li class="listitem"><p><span class="emphasis"><em>queue</em></span>: this is the default node-type</p></li></ul></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2758681" href="#id2758681" class="para">1</a>] </sup>The terms <span class="emphasis"><em>queue</em></span> and
+       may be used to specify other exchange types</p></li><li class="listitem"><p><span class="emphasis"><em>queue</em></span>: this is the default node-type</p></li></ul></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2568054" href="#id2568054" class="para">1</a>] </sup>In the programs we have just seen, we used
+      <code class="literal">amq.topic</code> as the default address if none is
+      passed in. This is the name of a standard exchange that always
+      exists on an AMQP 0-10 messaging broker.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2563905" href="#id2563905" class="para">2</a>] </sup>The terms <span class="emphasis"><em>queue</em></span> and
 	   <span class="emphasis"><em>topic</em></span> here were chosen to align with
 	   their meaning in JMS. These two addressing 'patterns',
 	   queue and topic, are sometimes refered as point-to-point
@@ -545,11 +556,11 @@ options := map
 	   called a <span class="emphasis"><em>topic exchange</em></span>. When the term
 	   <span class="emphasis"><em>topic</em></span> occurs alone, it refers to a
 	   Messaging API topic, not the topic
-	   exchange.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2776261" href="#id2776261" class="para">2</a>] </sup>There are exceptions to this rule; for instance,
+	   exchange.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2559123" href="#id2559123" class="para">3</a>] </sup>There are exceptions to this rule; for instance,
 	    a receiver can use <code class="literal">browse</code> mode, which leaves
 	    messages on the queue for other receivers to
-	    read.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2748517" href="#id2748517" class="para">3</a>] </sup>The AMQP 0-10 implementation is the only one
-          that currently exists.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2781373" href="#id2781373" class="para">4</a>] </sup>In AMQP 0-10, messages are sent to
+	    read.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2584368" href="#id2584368" class="para">4</a>] </sup>The AMQP 0-10 implementation is the only one
+          that currently exists.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2563235" href="#id2563235" class="para">5</a>] </sup>In AMQP 0-10, messages are sent to
           exchanges, and read from queues. The Messaging API also
           allows a sender to send messages to a queue; internally,
           Qpid implements this by sending the message to the default
@@ -558,9 +569,9 @@ options := map
           from a topic; internally, Qpid implements this by setting up
           a private subscription queue for the receiver and binding
           the subscription queue to the exchange that corresponds to
-          the topic.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2750500" href="#id2750500" class="para">5</a>] </sup>Currently, the C++, Python, and .NET C#
+          the topic.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2573783" href="#id2573783" class="para">6</a>] </sup>Currently, the C++, Python, and .NET C#
       implementations of <span class="command"><strong>drain</strong></span> and
       <span class="command"><strong>spout</strong></span> have slightly different
       options. This tutorial uses the C++ implementation. The
       options will be reconciled in the near
-      future.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">3. A Simple Messaging Program in .NET C# </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5. Logging</td></tr></table></div></body></html>
+      future.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.3. A Simple Messaging Program in .NET C# </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.5. Sender Capacity and Replay</td></tr></table></div></body></html>

Modified: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s05.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s05.html?rev=967163&r1=967162&r2=967163&view=diff
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s05.html (original)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s05.html Fri Jul 23 16:48:11 2010
@@ -1,21 +1,25 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5. Logging</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s04.html" title="4. Addresses"><link rel="next" href="ch02s06.html" title="6. Receiving Messages from Multiple Sources"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5. Logging</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Next</a></td></tr></table><hr></div><div class="section" title="5.
  Logging"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2743890"></a>5. Logging</h2></div></div></div><p>To simplify debugging, Qpid provides a logging facility
-      that prints out messaging events.</p><div class="section" title="5.1. Logging in C++"><div class="titlepage"><div><div><h3 class="title"><a name="id2743901"></a>5.1. Logging in C++</h3></div></div></div><p>The Qpidd broker and C++ clients can both use environment
-	variables to enable logging. Use QPID_LOG_ENABLE to set the
-	level of logging you are interested in (trace, debug, info,
-	notice, warning, error, or critical):</p><pre class="screen">
-$ export QPID_LOG_ENABLE="warning+"
-</pre><p>The Qpidd broker and C++ clients use QPID_LOG_OUTPUT to
-      determine where logging output should be sent. This is either a
-      file name or the special values stderr, stdout, or syslog:</p><pre class="screen">
-export QPID_LOG_TO_FILE="/tmp/myclient.out"
-</pre></div><div class="section" title="5.2. Logging in Python"><div class="titlepage"><div><div><h3 class="title"><a name="id2743934"></a>5.2. Logging in Python</h3></div></div></div><p>
-			The Python client library supports logging using the standard Python logging module. The easiest way to do logging is to use the <span class="command"><strong>basicConfig()</strong></span>, which reports all warnings and errors:
-		</p><pre class="programlisting">from logging import basicConfig
-basicConfig()
-</pre><p>
-			Qpidd also provides a convenience method that makes it easy to specify the level of logging desired. For instance, the following code enables logging at the <span class="command"><strong>DEBUG</strong></span> level:
-		</p><pre class="programlisting">from qpid.log import enable, DEBUG
-enable("qpid.messaging.io", DEBUG)
-</pre><p>
-			For more information on Python logging, see <a class="ulink" href="http://docs.python.org/lib/node425.html" target="_top">http://docs.python.org/lib/node425.html</a>. For more information on Qpid logging, use <span class="command"><strong>$ pydoc qpid.log</strong></span>.
-		</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4. Addresses </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 6. Receiving Messages from Multiple Sources</td></tr></table></div></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.5. Sender Capacity and Replay</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s04.html" title="2.4. Addresses"><link rel="next" href="ch02s06.html" title="2.6. Receiver Capacity (Prefetch)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.5. Sender Capacity and Replay</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s06.html">Next</a></td></tr></table><hr></
 div><div class="section" title="2.5. Sender Capacity and Replay"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="replay"></a>2.5. Sender Capacity and Replay</h2></div></div></div><p>The send method of a sender has an optional second parameter
+    that controls whether the send call is synchronous or not. A
+    synchronous send call will block until the broker has confirmed
+    receipt of the message. An asynchronous send call will return
+    before the broker confirms receipt of the message, allowing for
+    example further send calls to be made without waiting for a
+    roundtrip to the broker for each message. This is desirable where
+    increased throughput is important.</p><p>The sender maintains a list of sent messages whose receipt
+    has yet to be confirmed by the broker. The maximum number of such
+    messages that it will hold is defined by the capacity of the
+    sender, which can be set by the application. If an application
+    tries to send with a sender whose capacity is already fully used
+    up, the send call will block waiting for capacity regardless of
+    the value of the sync flag.</p><p>The sender can be queried for the available space (i.e. the
+    unused capacity), and for the current count of unsettled messages
+    (i.e. those held in the queue pending confirmation by the
+    server). When the unsettled count is zero, all messages on that
+    sender have been successfully sent.</p><p>If the connection fails and is transparently reconnected
+    (see <a class="xref" href="ch02s10.html" title="2.10. Connection Options">Section 2.10, &#8220;Connection Options&#8221;</a> for details on how to control
+    this feature), the unsettled messages for each sender over that
+    connection will be re-transmitted. This provides a transparent
+    level of reliability. This feature can be controlled through the
+    link's reliability as defined in the address (see
+    <a class="xref" href="ch02s04.html#table-link-properties" title="Table 2.3. Link Properties">Table 2.3, &#8220;Link Properties&#8221;</a>). At present only
+    at-least-once guarantees are offered. </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Addresses </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.6. Receiver Capacity (Prefetch)</td></tr></table></div></body></html>



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org


Mime
View raw message