qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jonat...@apache.org
Subject svn commit: r979878 - in /qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html: ch02s13.html ch02s14.html ch02s15.html ch02s16.html ch05.html ch05s02.html ch05s03.html ch05s04.html ch05s05.html ch05s06.html ch05s07.html ch05s08.html
Date Tue, 27 Jul 2010 21:38:18 GMT
Author: jonathan
Date: Tue Jul 27 21:38:18 2010
New Revision: 979878

URL: http://svn.apache.org/viewvc?rev=979878&view=rev
Log:
Adding new chapters

Added:
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s13.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s14.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s15.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s16.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s04.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s05.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s06.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s07.html
    qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s08.html

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s13.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s13.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s13.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s13.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1,20 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.13. Performance Tips</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="ch02s12.html" title="2.12. The Request / Response Pattern"><link rel="next" href="ch02s14.html" title="2.14. Cluster Failover"></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.13. Performance Tips</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.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="ch02s14.html">Next</a></td></tr></table><hr></div><di
 v class="section" title="2.13. Performance Tips"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2587792"></a>2.13. Performance Tips</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Consider prefetching messages for receivers (see
+          <a class="xref" href="ch02s06.html" title="2.6. Receiver Capacity (Prefetch)">Section 2.6, &#8220;Receiver Capacity (Prefetch)&#8221;</a>). This helps eliminate roundtrips
+          and increases throughput. Prefetch is disabled by default,
+          and enabling it is the most effective means of improving
+          throughput of received messages.</p></li><li class="listitem"><p>Send messages asynchronously. Again, this helps
+          eliminate roundtrips and increases throughput. The C++ and
+          .NET clients send asynchronously by default, however the
+          python client defaults to synchronous sends.  </p></li><li class="listitem"><p>Acknowledge messages in batches (see
+          <a class="xref" href="ch02s07.html" title="2.7. Acknowledging Received Messages">Section 2.7, &#8220;Acknowledging Received Messages&#8221;</a>). Rather than
+          acknowledging each message individually, consider issuing
+          acknowledgements after n messages and/or after a particular
+          duration has elapsed.</p></li><li class="listitem"><p>Tune the sender capacity (see
+          <a class="xref" href="ch02s05.html" title="2.5. Sender Capacity and Replay">Section 2.5, &#8220;Sender Capacity and Replay&#8221;</a>). If the capacity is too low the
+          sender may block waiting for the broker to confirm receipt
+          of messages, before it can free up more capacity.</p></li><li class="listitem"><p>If you are setting a reply-to address on messages
+          being sent by the c++ client, make sure the address type is
+          set to either queue or topic as appropriate. This avoids the
+          client having to determine which type of node is being
+          refered to, which is required when hanling reply-to in AMQP
+          0-10. </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="ch02s12.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="ch02s14.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. The Request / Response Pattern </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.14. Cluster Failover</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s14.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s14.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s14.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s14.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1,23 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.14. Cluster Failover</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="ch02s13.html" title="2.13. Performance Tips"><link rel="next" href="ch02s15.html" title="2.15. 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">2.14. Cluster Failover</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.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="ch02s15.html">Next</a></td></tr></table><hr></div><div class="section" title
 ="2.14. Cluster Failover"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2587868"></a>2.14. Cluster Failover</h2></div></div></div><p>The messaging broker can be run in clustering mode, which provides high reliability through replicating state between brokers in the cluster. If one broker in a cluster fails, clients can choose another broker in the cluster and continue their work. Each broker in the cluster also advertises the addresses of all known brokers
+
+<sup>[<a name="id2587882" href="#ftn.id2587882" class="footnote">10</a>]</sup>
+
+. A client can use this information to dynamically keep the list of reconnection urls up to date.</p><p>In C++, the <code class="classname">FailoverUpdates</code> class provides this functionality:</p><div class="example"><a name="id2587897"></a><p class="title"><b>Example 2.19. Tracking cluster membership</b></p><div class="example-contents"><p>In C++:</p><pre class="programlisting">
+#include &lt;qpid/messaging/FailoverUpdates.h&gt;
+...
+Connection connection("localhost:5672");
+connection.setOption("reconnect", true);
+try {
+    connection.open();
+    std::auto_ptr&lt;FailoverUpdates&gt; updates(new FailoverUpdates(connection));
+
+	</pre><p>In python:</p><pre class="programlisting">
+import qpid.messaging.util
+...
+connection = Connection("localhost:5672")
+connection.reconnect = True
+try:
+  connection.open()
+  auto_fetch_reconnect_urls(connection)
+
+	</pre></div></div><br class="example-break"><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2587882" href="#id2587882" class="para">10</a>] </sup>This is done via the amq.failover exchange in AMQP 0-10</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s13.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="ch02s15.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.13. Performance Tips </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.15. Logging</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s15.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s15.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s15.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s15.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1,21 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.15. 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="ch02s14.html" title="2.14. Cluster Failover"><link rel="next" href="ch02s16.html" title="2.16. The AMQP 0-10 mapping"></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.15. Logging</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s14.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="ch02s16.html">Next</a></td></tr></table><hr></div><div class="section" title="2.
 15. Logging"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2587937"></a>2.15. Logging</h2></div></div></div><p>To simplify debugging, Qpid provides a logging facility
+      that prints out messaging events.</p><div class="section" title="2.15.1. Logging in C++"><div class="titlepage"><div><div><h3 class="title"><a name="id2587947"></a>2.15.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="2.15.2. Logging in Python"><div class="titlepage"><div><div><h3 class="title"><a name="id2587978"></a>2.15.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="ch02s14.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="ch02s16.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.14. Cluster Failover </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.16. The AMQP 0-10 mapping</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s16.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s16.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s16.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch02s16.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1,118 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.16. The AMQP 0-10 mapping</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="ch02s15.html" title="2.15. Logging"><link rel="next" href="ch03.html" title="Chapter 3. Using the Qpid JMS client"></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.16. The AMQP 0-10 mapping</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s15.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="ch03.html">Next</a></td></tr></table><hr></div><div cl
 ass="section" title="2.16. The AMQP 0-10 mapping"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section-amqp0-10-mapping"></a>2.16. The AMQP 0-10 mapping</h2></div></div></div><p>
+      This section describes the AMQP 0-10 mapping for the Qpid
+      Messaging API.
+    </p><p>
+        The interaction with the broker triggered by creating a sender
+        or receiver depends on what the specified address resolves
+        to. Where the node type is not specified in the address, the
+        client queries the broker to determine whether it refers to a
+        queue or an exchange.
+    </p><p>
+        When sending to a queue, the queue's name is set as the
+        routing key and the message is transfered to the default (or
+        nameless) exchange. When sending to an exchange, the message
+        is transfered to that exchange and the routing key is set to
+        the message subject if one is specified. A default subject may
+        be specified in the target address. The subject may also be
+        set on each message individually to override the default if
+        required. In each case any specified subject is also added as
+        a qpid.subject entry in the application-headers field of the
+        message-properties.
+      </p><p>
+        When receiving from a queue, any subject in the source address
+        is currently ignored. The client sends a message-subscribe
+        request for the queue in question. The accept-mode is
+        determined by the reliability option in the link properties;
+        for unreliable links the accept-mode is none, for reliable
+        links it is explicit. The default for a queue is reliable. The
+        acquire-mode is determined by the value of the mode option. If
+        the mode is set to browse the acquire mode is not-acquired,
+        otherwise it is set to pre-acquired. The exclusive and
+        arguments fields in the message-subscribe command can be
+        controlled using the x-subscribe map.
+      </p><p>
+        When receiving from an exchange, the client creates a
+        subscription queue and binds that to the exchange. The
+        subscription queue's arguments can be specified using the
+        x-declare map within the link properties. The reliability
+        option determines most of the other parameters. If the
+        reliability is set to unreliable then an auto-deleted,
+        exclusive queue is used meaning that if the client or
+        connection fails messages may be lost. For exactly-once the
+        queue is not set to be auto-deleted. The durability of the
+        subscription queue is determined by the durable option in the
+        link properties. The binding process depends on the type of
+        the exchange the source address resolves to.
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
+            For a topic exchange, if no subject is specified and no
+            x-bindings are defined for the link, the subscription
+            queue is bound using a wildcard matching any routing key
+            (thus satisfying the expectation that any message sent to
+            that address will be received from it). If a subject is
+            specified in the source address however, it is used for
+            the binding key (this means that the subject in the source
+            address may be a binding pattern including wildcards).
+          </p></li><li class="listitem"><p>
+            For a fanout exchange the binding key is irrelevant to
+            matching. A receiver created from a source address that
+            resolves to a fanout exchange receives all messages
+            sent to that exchange regardless of any subject the source
+            address may contain. An x-bindings element in the link
+            properties should be used if there is any need to set the
+            arguments to the bind.
+          </p></li><li class="listitem"><p>
+            For a direct exchange, the subject is used as the binding
+            key. If no subject is specified an empty string is used as
+            the binding key.
+          </p></li><li class="listitem"><p>
+            For a headers exchange, if no subject is specified the
+            binding arguments simply contain an x-match entry and no
+            other entries, causing all messages to match. If a subject
+            is specified then the binding arguments contain an x-match
+            entry set to all and an entry for qpid.subject whose value
+            is the subject in the source address (this means the
+            subject in the source address must match the message
+            subject exactly). For more control the x-bindings element
+            in the link properties must be used.
+          </p></li><li class="listitem"><p>
+            For the XML exchange,<sup>[<a name="id2588168" href="#ftn.id2588168" class="footnote">11</a>]</sup> if a subject is specified it is
+            used as the binding key and an XQuery is defined that
+            matches any message with that value for
+            qpid.subject. Again this means that only messages whose
+            subject exactly match that specified in the source address
+            are received. If no subject is specified then the empty
+            string is used as the binding key with an xquery that will
+            match any message (this means that only messages with an
+            empty string as the routing key will be received). For more
+            control the x-bindings element in the link properties must
+            be used. A source address that resolves to the XML
+            exchange must contain either a subject or an x-bindings
+            element in the link properties as there is no way at
+            present to receive any message regardless of routing key.
+          </p></li></ul></div><p>
+        If an x-bindings list is present in the link options a binding
+        is created for each element within that list. Each element is
+        a nested map that may contain values named queue, exchange,
+        key or arguments. If the queue value is absent the queue name
+        the address resolves to is implied. If the exchange value is
+        absent the exchange name the address resolves to is implied.
+      </p><p>The following table shows how Qpid Messaging API message
+        properties are mapped to AMQP 0-10 message properties and
+        delivery properties. In this table <code class="varname">msg</code>
+        refers to the Message class defined in the Qpid Messaging API,
+        <code class="varname">mp</code> refers to an AMQP 0-10
+        <code class="varname">message-properties</code> struct, and
+        <code class="varname">dp</code> refers to an AMQP 0-10
+        <code class="varname">delivery-properties</code> struct.</p><div class="table"><a name="table-amqp0-10-message-properties"></a><p class="title"><b>Table 2.8. Mapping to AMQP 0-10 Message Properties</b></p><div class="table-contents"><table summary="Mapping to AMQP 0-10 Message Properties" width="100%" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python API</th><th>C++ API</th><th>AMQP 0-10 Property<sup>[<a name="id2588298" href="#ftn.id2588298" class="footnote">a</a>]</sup></th></tr></thead><tbody><tr><td>msg.id</td><td>msg.{get,set}MessageId()</td><td>mp.message_id</td></tr><tr><td>msg.subject</td><td>msg.{get,set}Subject()</td><td>mp.application_headers["qpid.subject"]</td></tr><tr><td>msg.user_id</td><td>msg.{get,set}UserId()</td><td>mp.user_id</td></tr><tr><td>msg.reply_to</td><td>msg.{get,set}ReplyTo()</td><td>mp.reply_to<sup>[<a name="id2588360" href="#ftn.id2588360" class="footnote">b</a>]</sup></td></tr><tr><td>msg.correlation_id</td><td>ms
 g.{get,set}CorrelationId()</td><td>mp.correlation_id</td></tr><tr><td>msg.durable</td><td>msg.{get,set}Durable()</td><td>dp.delivery_mode == delivery_mode.persistent<sup>[<a name="id2588387" href="#ftn.id2588387" class="footnote">c</a>]</sup></td></tr><tr><td>msg.priority</td><td>msg.{get,set}Priority()</td><td>dp.priority</td></tr><tr><td>msg.ttl</td><td>msg.{get,set}Ttl()</td><td>dp.ttl</td></tr><tr><td>msg.redelivered</td><td>msg.{get,set}Redelivered()</td><td>dp.redelivered</td></tr><tr><td>msg.properties</td><td>msg.{get,set}Properties()</td><td>mp.application_headers</td></tr><tr><td>msg.content_type</td><td>msg.{get,set}ContentType()</td><td>mp.content_type</td></tr></tbody><tbody class="footnotes"><tr><td colspan="3"><div class="footnote"><p><sup>[<a name="ftn.id2588298" href="#id2588298" class="para">a</a>] </sup>In these entries, <code class="literal">mp</code> refers to an AMQP message property, and <code class="literal">dp</code> refers to an AMQP delivery proper
 ty.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2588360" href="#id2588360" class="para">b</a>] </sup>The reply_to is converted from the protocol representation into an address.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2588387" href="#id2588387" class="para">c</a>] </sup>Note that msg.durable is a boolean, not an enum.</p></div></td></tr></tbody></table></div></div><br class="table-break"><p>The 0-10 mapping also recognises certain special property
+      keys. If the properties contain entries for <code class="literal">x-amqp-0-10.app-id</code>
+      or <code class="literal">x-amqp-0-10.content-encoding</code>, the values will be used to
+      set <code class="literal">message-properties.app-id</code> and
+      <code class="literal">message-properties.content-encoding</code> on the
+      resulting 0-10 message transfer. Likewise if an incoming
+      transfer has those properties set, they will be exposed in the
+      same manner. In addition the routing key on incoming transfers
+      will be exposed directly via the custom property with key
+      <code class="literal">x-amqp-0-10.routing-key</code>.</p><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2588168" href="#id2588168" class="para">11</a>] </sup>Note that the XML
+            exchange is not a standard AMQP exchange type. It is a
+            Qpid extension and is currently only supported by the C++
+            broker.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s15.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="ch03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.15. Logging </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Using the Qpid JMS client</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1,8 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 5. The .NET Binding for the C++ Messaging Client</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="ch04s05.html" title="4.5. Transactions"><link rel="next" href="ch05s02.html" title="5.2. .NET Binding Class: Connection"></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 5. The .NET Binding for the C++ Messaging Client</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch05s02.html">Next</a></td></tr></table><h
 r></div><div class="chapter" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><div class="titlepage"><div><div><h2 class="title"><a name="id2590446"></a>Chapter 5. The .NET Binding for the C++ Messaging Client</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch05.html#id2590475">5.1. .NET Binding Class: Address</a></span></dt><dt><span class="section"><a href="ch05s02.html">5.2. .NET Binding Class: Connection</a></span></dt><dt><span class="section"><a href="ch05s03.html">5.3. .NET Binding Class: Duration</a></span></dt><dt><span class="section"><a href="ch05s04.html">5.4. .NET Binding Class: Message</a></span></dt><dt><span class="section"><a href="ch05s05.html">5.5. .NET Binding Class: Receiver</a></span></dt><dt><span class="section"><a href="ch05s06.html">5.6. .NET Binding Class: Sender</a></span></dt><dt><span class="section"><a href="ch05s07.html">5.7. .NET Binding Class: Session</a></span>
 </dt><dt><span class="section"><a href="ch05s08.html">5.8. .NET Binding Class: SessionReceiver</a></span></dt></dl></div><p>
+      The C++ Messaging Client unmanaged code is exposed to .NET
+      code through an interoperability DLL. This DLL wrapper 
+      is a thin layer that serves primarily by translating between
+      the managed .NET programs and the unmanaged C++ libraries.
+    </p><p>
+      This chapter describes the mapping provided by the .NET binding classes.
+    </p><div class="section" title="5.1. .NET Binding Class: Address"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2590475"></a>5.1. .NET Binding Class: Address</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Address"></a><p class="title"><b>Table 5.1. .NET Binding Class: Address</b></p><div class="table-contents"><table summary=".NET Binding Class: Address" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Address</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Address</td></tr><tr><td>.NET</td><td>public ref class Address</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Address();</td></tr><tr><td>.NET</td><td>public Address();</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Address(const std::string&amp; address);</td></tr><tr><td>.NET</td><t
 d>public Address(string address);</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Address(const std::string&amp; name, const std::string&amp; subject, const qpid::types::Variant::Map&amp; options, const std::string&amp; type = "");</td></tr><tr><td>.NET</td><td>public Address(string name, string subject, Dictionary&lt;string, object&gt; options);</td></tr><tr><td>.NET</td><td>public Address(string name, string subject, Dictionary&lt;string, object&gt; options, string type);</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Address(const Address&amp; address);</td></tr><tr><td>.NET</td><td>public Address(Address address);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Address();</td></tr><tr><td>.NET</td><td>~Address();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Address();</td></tr><tr><td
  colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Address&amp; operator=(const Address&amp;);</td></tr><tr><td>.NET</td><td>public Address op_Assign(Address rhs);</td></tr><tr><td colspan="2" align="center">Property: Name</td></tr><tr><td>C++</td><td>const std::string&amp; getName() const;</td></tr><tr><td>C++</td><td>void setName(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Name { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Subject</td></tr><tr><td>C++</td><td>const std::string&amp; getSubject() const;</td></tr><tr><td>C++</td><td>void setSubject(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Subject { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Options</td></tr><tr><td>C++</td><td>const qpid::types::Variant::Map&amp; getOptions() const;</td></tr><tr><td>C++</td><td>qpid::types::Variant::Map&amp; getOptions();</td></tr><tr><td>C++</td><td>void setOptions
 (const qpid::types::Variant::Map&amp;);</td></tr><tr><td>.NET</td><td>public Dictionary&lt;string, object&gt; Options { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Type</td></tr><tr><td>C++</td><td>std::string getType() const;</td></tr><tr><td>C++</td><td>void setType(const std::string&amp;);</td></tr><tr><td>.NET</td><td>public string Type { get; set; }</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>std::string str() const;</td></tr><tr><td>.NET</td><td>public string ToStr();</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>operator bool() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td colspan="2" align="center">Miscellaneous</td></tr><tr><td>C++</td><td>bool operator !() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr></tbody></table></div></div><br class="table-break"></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td
  width="40%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch05s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.5. Transactions </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.2. .NET Binding Class: Connection</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s02.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.2. .NET Binding Class: Connection</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="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="next" href="ch05s03.html" title="5.3. .NET Binding Class: Duration"></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.2. .NET Binding Class: Connection</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align=
 "right"> <a accesskey="n" href="ch05s03.html">Next</a></td></tr></table><hr></div><div class="section" title="5.2. .NET Binding Class: Connection"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2591078"></a>5.2. .NET Binding Class: Connection</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Connection"></a><p class="title"><b>Table 5.2. .NET Binding Class: Connection</b></p><div class="table-contents"><table summary=".NET Binding Class: Connection" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Connection</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Connection : public qpid::messaging::Handle&lt;ConnectionImpl&gt;</td></tr><tr><td>.NET</td><td>public ref class Connection</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection(ConnectionImpl* impl);</td></tr><tr><td>.NET</td
 ><td>n/a</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection();</td></tr><tr><td>.NET</td><td>TODO:</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Connection(const std::string&amp; url, const qpid::types::Variant::Map&amp; options = qpid::types::Variant::Map());</td></tr><tr><td>.NET</td><td>public Connection(string url);</td></tr><tr><td>.NET</td><td>public Connection(string url, Dictionary&lt;string, object&gt; options);</td></tr><tr><td>  </td><td>Constructor</td></tr><tr><td>C++</td><td>Connection(const std::string&amp; url, const std::string&amp; options);</td></tr><tr><td>.NET</td><td>public Connection(string url, string options);  </td></tr><tr><td>  </td><td>Copy constructor</td></tr><tr><td>C++</td><td>Connection(const Connection&amp;);</td></tr><tr><td>.NET</td><td>public Connection(Connection connection);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td
 ><td>~Connection();</td></tr><tr><td>.NET</td><td>~Connection();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Connection();</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Connection&amp; operator=(const Connection&amp;);</td></tr><tr><td>.NET</td><td>public Connection op_Assign(Connection rhs);</td></tr><tr><td colspan="2" align="center">Method: SetOption</td></tr><tr><td>C++</td><td>void setOption(const std::string&amp; name, const qpid::types::Variant&amp; value);</td></tr><tr><td>.NET</td><td>public void SetOption(string name, object value);</td></tr><tr><td colspan="2" align="center">Method: open</td></tr><tr><td>C++</td><td>void open();</td></tr><tr><td>.NET</td><td>public void Open();</td></tr><tr><td colspan="2" align="center">Property: isOpen</td></tr><tr><td>C++</td><td>bool isOpen();</td></tr><tr><td>.NET</td><td>public bool IsOpen { get; }</t
 d></tr><tr><td colspan="2" align="center">Method: close</td></tr><tr><td>C++</td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2" align="center">Method: createTransactionalSession</td></tr><tr><td>C++</td><td>Session createTransactionalSession(const std::string&amp; name = std::string());</td></tr><tr><td>.NET</td><td>public Session CreateTransactionalSession();</td></tr><tr><td>.NET</td><td>public Session CreateTransactionalSession(string name);</td></tr><tr><td colspan="2" align="center">Method: createSession</td></tr><tr><td>C++</td><td>Session createSession(const std::string&amp; name = std::string());</td></tr><tr><td>.NET</td><td>public Session CreateSession();</td></tr><tr><td>.NET</td><td>public Session CreateSession(string name);</td></tr><tr><td colspan="2" align="center">Method: getSession</td></tr><tr><td>C++</td><td>Session getSession(const std::string&amp; name) const;</td></tr><tr><td>.NET</td><td>public Session
  GetSession(string name);</td></tr><tr><td colspan="2" align="center">Property: AuthenticatedUsername</td></tr><tr><td>C++</td><td>std::string getAuthenticatedUsername();</td></tr><tr><td>.NET</td><td>public string GetAuthenticatedUsername();</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 5. The .NET Binding for the C++ Messaging Client </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.3. .NET Binding Class: Duration</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s03.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.3. .NET Binding Class: Duration</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="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05s02.html" title="5.2. .NET Binding Class: Connection"><link rel="next" href="ch05s04.html" title="5.4. .NET Binding Class: Message"></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.3. .NET Binding Class: Duration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s02.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> <a accesske
 y="n" href="ch05s04.html">Next</a></td></tr></table><hr></div><div class="section" title="5.3. .NET Binding Class: Duration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2591718"></a>5.3. .NET Binding Class: Duration</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Duration"></a><p class="title"><b>Table 5.3. .NET Binding Class: Duration</b></p><div class="table-contents"><table summary=".NET Binding Class: Duration" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Duration</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Duration</td></tr><tr><td>.NET</td><td>public ref class Duration</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>explicit Duration(uint64_t milliseconds);</td></tr><tr><td>.NET</td><td>public Duration(ulong mS);</td></tr><tr><td colspan="2" align="center">Copy con
 structor</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>public Duration(Duration rhs);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>default</td></tr><tr><td>.NET</td><td>default</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>default</td></tr><tr><td colspan="2" align="center">Property: Milliseconds</td></tr><tr><td>C++</td><td>uint64_t getMilliseconds() const;</td></tr><tr><td>.NET</td><td>public ulong Milliseconds { get; }</td></tr><tr><td colspan="2" align="center">Operator: *</td></tr><tr><td>C++</td><td>Duration operator*(const Duration&amp; duration, uint64_t multiplier);</td></tr><tr><td>.NET</td><td>public static Duration operator *(Duration dur, ulong multiplier);</td></tr><tr><td>.NET</td><td>public static Duration Multiply(Duration dur, ulong multiplier);</td></tr><tr><td>C++</td><td>Duration operator*(uint64_t multiplier, const Duration&amp;
  duration);</td></tr><tr><td>.NET</td><td>public static Duration operator *(ulong multiplier, Duration dur);</td></tr><tr><td>.NET</td><td>public static Duration Multiply(ulong multiplier, Duration dur);</td></tr><tr><td colspan="2" align="center">Constants</td></tr><tr><td>C++</td><td>static const Duration FOREVER;</td></tr><tr><td>C++</td><td>static const Duration IMMEDIATE;</td></tr><tr><td>C++</td><td>static const Duration SECOND;</td></tr><tr><td>C++</td><td>static const Duration MINUTE;</td></tr><tr><td>.NET</td><td>public sealed class DurationConstants</td></tr><tr><td>.NET</td><td>public static Duration FORVER;</td></tr><tr><td>.NET</td><td>public static Duration IMMEDIATE;</td></tr><tr><td>.NET</td><td>public static Duration MINUTE;</td></tr><tr><td>.NET</td><td>public static Duration SECOND;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><
 a accesskey="p" href="ch05s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.2. .NET Binding Class: Connection </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.4. .NET Binding Class: Message</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s04.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s04.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s04.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s04.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.4. .NET Binding Class: Message</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="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05s03.html" title="5.3. .NET Binding Class: Duration"><link rel="next" href="ch05s05.html" title="5.5. .NET Binding Class: Receiver"></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.4. .NET Binding Class: Message</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s03.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> <a accesskey="
 n" href="ch05s05.html">Next</a></td></tr></table><hr></div><div class="section" title="5.4. .NET Binding Class: Message"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2592141"></a>5.4. .NET Binding Class: Message</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Message"></a><p class="title"><b>Table 5.4. .NET Binding Class: Message</b></p><div class="table-contents"><table summary=".NET Binding Class: Message" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Message</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Message</td></tr><tr><td>.NET</td><td>public ref class Message</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Message(const std::string&amp; bytes = std::string());</td></tr><tr><td>.NET</td><td>Message();</td></tr><tr><td>.NET</td><td>Message(System::String ^ theStr);</t
 d></tr><tr><td>.NET</td><td>Message(System::Object ^ theValue);</td></tr><tr><td>.NET</td><td>Message(array&lt;System::Byte&gt; ^ bytes);</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>C++</td><td>Message(const char*, size_t);</td></tr><tr><td>.NET</td><td>public Message(byte[] bytes, int offset, int size);</td></tr><tr><td>	</td><td>Copy constructor</td></tr><tr><td>C++</td><td>Message(const Message&amp;);</td></tr><tr><td>.NET</td><td>public Message(Message message);</td></tr><tr><td>	</td><td>Copy assignment operator</td></tr><tr><td>C++</td><td>Message&amp; operator=(const Message&amp;);</td></tr><tr><td>.NET</td><td>public Message op_Assign(Message rhs);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Message();</td></tr><tr><td>.NET</td><td>~Message();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Message()</td></tr><tr><td colspan="2" 
 align="center">Property: ReplyTo</td></tr><tr><td>C++</td><td>void setReplyTo(const Address&amp;);</td></tr><tr><td>C++</td><td>const Address&amp; getReplyTo() const;</td></tr><tr><td>.NET</td><td>public Address ReplyTo { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Subject</td></tr><tr><td>C++</td><td>void setSubject(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getSubject() const;</td></tr><tr><td>.NET</td><td>public string Subject { get; set; }</td></tr><tr><td colspan="2" align="center">Property: ContentType</td></tr><tr><td>C++</td><td>void setContentType(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getContentType() const;</td></tr><tr><td>.NET</td><td>public string ContentType { get; set; }</td></tr><tr><td colspan="2" align="center">Property: MessageId</td></tr><tr><td>C++</td><td>void setMessageId(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getMessageI
 d() const;</td></tr><tr><td>.NET</td><td>public string MessageId { get; set; }</td></tr><tr><td colspan="2" align="center">Property: UserId</td></tr><tr><td>C++</td><td>void setUserId(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getUserId() const;</td></tr><tr><td>.NET</td><td>public string UserId { get; set; }</td></tr><tr><td colspan="2" align="center">Property: CorrelationId</td></tr><tr><td>C++</td><td>void setCorrelationId(const std::string&amp;);</td></tr><tr><td>C++</td><td>const std::string&amp; getCorrelationId() const;</td></tr><tr><td>.NET</td><td>public string CorrelationId { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Priority</td></tr><tr><td>C++</td><td>void setPriority(uint8_t);</td></tr><tr><td>C++</td><td>uint8_t getPriority() const;</td></tr><tr><td>.NET</td><td>public byte Priority { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Ttl</td></tr><tr><td>C++</td><td>void setTtl(Duration 
 ttl);</td></tr><tr><td>C++</td><td>Duration getTtl() const;</td></tr><tr><td>.NET</td><td>public Duration Ttl { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Durable</td></tr><tr><td>C++</td><td>void setDurable(bool durable);</td></tr><tr><td>C++</td><td>bool getDurable() const;</td></tr><tr><td>.NET</td><td>public bool Durable { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Redelivered</td></tr><tr><td>C++</td><td>bool getRedelivered() const;</td></tr><tr><td>C++</td><td>void setRedelivered(bool);</td></tr><tr><td>.NET</td><td>public bool Redelivered { get; set; }</td></tr><tr><td colspan="2" align="center">Method: SetProperty</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>public void SetProperty(string name, object value);</td></tr><tr><td colspan="2" align="center">Property: Properties</td></tr><tr><td>C++</td><td>const qpid::types::Variant::Map&amp; getProperties() const;</td></tr><tr><td>C++</td><td>qpid::types::Va
 riant::Map&amp; getProperties();</td></tr><tr><td>.NET</td><td>public Dictionary&lt;string, object&gt; Properties { get; set; }</td></tr><tr><td colspan="2" align="center">Method: SetContent</td></tr><tr><td>C++</td><td>void setContent(const std::string&amp;);</td></tr><tr><td>C++</td><td>void setContent(const char* chars, size_t count);</td></tr><tr><td>.NET</td><td>public void SetContent(byte[] bytes);</td></tr><tr><td>.NET</td><td>public void SetContent(string content);</td></tr><tr><td>.NET</td><td>public void SetContent(byte[] bytes, int offset, int size);</td></tr><tr><td colspan="2" align="center">Method: GetContent</td></tr><tr><td>C++</td><td>std::string getContent() const;</td></tr><tr><td>.NET</td><td>public string GetContent();</td></tr><tr><td>.NET</td><td>public void GetContent(byte[] arr);</td></tr><tr><td>.NET</td><td>public void GetContent(Collection&lt;object&gt; __p1);</td></tr><tr><td>.NET</td><td>public void GetContent(Dictionary&lt;string, object&gt; di
 ct);</td></tr><tr><td colspan="2" align="center">Method: GetContentPtr</td></tr><tr><td>C++</td><td>const char* getContentPtr() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td colspan="2" align="center">Property: ContentSize</td></tr><tr><td>C++</td><td>size_t getContentSize() const;</td></tr><tr><td>.NET</td><td>public ulong ContentSize { get; }</td></tr><tr><td colspan="2" align="center">Struct: EncodingException</td></tr><tr><td>C++</td><td>struct EncodingException : qpid::types::Exception</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td colspan="2" align="center">Method: decode</td></tr><tr><td>C++</td><td>void decode(const Message&amp; message, qpid::types::Variant::Map&amp; map,	const std::string&amp; encoding = std::string());</td></tr><tr><td>C++</td><td>void decode(const Message&amp; message, qpid::types::Variant::List&amp; list, const std::string&amp; encoding = std::string());</td></tr><tr><td>.NET</td><td>TODO:</td></tr><tr><td colspan="2" align="cent
 er">Method: encode</td></tr><tr><td>C++</td><td>void encode(const qpid::types::Variant::Map&amp; map, Message&amp; message, const std::string&amp; encoding = std::string());</td></tr><tr><td>C++</td><td>void encode(const qpid::types::Variant::List&amp; list, Message&amp; message, const std::string&amp; encoding = std::string());</td></tr><tr><td>.NET</td><td>TODO:</td></tr><tr><td colspan="2" align="center">Method: AsString</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>public string AsString(object obj);</td></tr><tr><td>.NET</td><td>public string ListAsString(Collection&lt;object&gt; list);</td></tr><tr><td>.NET</td><td>public string MapAsString(Dictionary&lt;string, object&gt; dict);</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" hr
 ef="ch05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.3. .NET Binding Class: Duration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.5. .NET Binding Class: Receiver</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s05.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s05.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s05.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s05.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.5. .NET Binding Class: Receiver</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="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05s04.html" title="5.4. .NET Binding Class: Message"><link rel="next" href="ch05s06.html" title="5.6. .NET Binding Class: Sender"></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.5. .NET Binding Class: Receiver</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s04.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> <a accesskey="n
 " href="ch05s06.html">Next</a></td></tr></table><hr></div><div class="section" title="5.5. .NET Binding Class: Receiver"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2593337"></a>5.5. .NET Binding Class: Receiver</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Receiver"></a><p class="title"><b>Table 5.5. .NET Binding Class: Receiver</b></p><div class="table-contents"><table summary=".NET Binding Class: Receiver" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Receiver</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Receiver</td></tr><tr><td>.NET</td><td>public ref class Receiver</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is returned by Session.CreateReceiver</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Receive
 r(const Receiver&amp;);</td></tr><tr><td>.NET</td><td>public Receiver(Receiver receiver);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Receiver();</td></tr><tr><td>.NET</td><td>~Receiver();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Receiver()</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Receiver&amp; operator=(const Receiver&amp;);</td></tr><tr><td>.NET</td><td>public Receiver op_Assign(Receiver rhs);</td></tr><tr><td colspan="2" align="center">Method: Get</td></tr><tr><td>C++</td><td>bool get(Message&amp; message, Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public bool Get(Message mmsgp);</td></tr><tr><td>.NET</td><td>public bool Get(Message mmsgp, Duration durationp);</td></tr><tr><td colspan="2" align="center">Method: Get</td></tr><tr><td>C++</td><td>Message get(Duration timeout=Dura
 tion::FOREVER);</td></tr><tr><td>.NET</td><td>public Message Get();</td></tr><tr><td>.NET</td><td>public Message Get(Duration durationp);</td></tr><tr><td colspan="2" align="center">Method: Fetch</td></tr><tr><td>C++</td><td>bool fetch(Message&amp; message, Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public bool Fetch(Message mmsgp);</td></tr><tr><td>.NET</td><td>public bool Fetch(Message mmsgp, Duration duration);</td></tr><tr><td colspan="2" align="center">Method: Fetch</td></tr><tr><td>C++</td><td>Message fetch(Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public Message Fetch();</td></tr><tr><td>.NET</td><td>public Message Fetch(Duration durationp);</td></tr><tr><td colspan="2" align="center">Property: Capacity</td></tr><tr><td>C++</td><td>void setCapacity(uint32_t);</td></tr><tr><td>C++</td><td>uint32_t getCapacity();</td></tr><tr><td>.NET</td><td>public uint Capacity { get; set; }</td></tr><tr><td colspan="2" align="center">P
 roperty: Available</td></tr><tr><td>C++</td><td>uint32_t getAvailable();</td></tr><tr><td>.NET</td><td>public uint Available { get; }</td></tr><tr><td colspan="2" align="center">Property: Unsettled</td></tr><tr><td>C++</td><td>uint32_t getUnsettled();</td></tr><tr><td>.NET</td><td>public uint Unsettled { get; }</td></tr><tr><td colspan="2" align="center">Method: Close</td></tr><tr><td>C++</td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2" align="center">Property: IsClosed</td></tr><tr><td>C++</td><td>bool isClosed() const;</td></tr><tr><td>.NET</td><td>public bool IsClosed { get; }</td></tr><tr><td colspan="2" align="center">Property: Name</td></tr><tr><td>C++</td><td>const std::string&amp; getName() const;</td></tr><tr><td>.NET</td><td>public string Name { get; }</td></tr><tr><td colspan="2" align="center">Property: Session</td></tr><tr><td>C++</td><td>Session getSession() const;</td></tr><tr><td>.NET</td><td>public Session
  Session { get; }</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.4. .NET Binding Class: Message </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.6. .NET Binding Class: Sender</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s06.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s06.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s06.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s06.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.6. .NET Binding Class: Sender</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="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05s05.html" title="5.5. .NET Binding Class: Receiver"><link rel="next" href="ch05s07.html" title="5.7. .NET Binding Class: Session"></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.6. .NET Binding Class: Sender</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s05.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> <a accesskey="n" 
 href="ch05s07.html">Next</a></td></tr></table><hr></div><div class="section" title="5.6. .NET Binding Class: Sender"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2593982"></a>5.6. .NET Binding Class: Sender</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Sender"></a><p class="title"><b>Table 5.6. .NET Binding Class: Sender</b></p><div class="table-contents"><table summary=".NET Binding Class: Sender" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Sender</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Sender</td></tr><tr><td>.NET</td><td>public ref class Sender</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is returned by Session.CreateSender</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Sender(const Sender&amp;);<
 /td></tr><tr><td>.NET</td><td>public Sender(Sender sender);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Sender();</td></tr><tr><td>.NET</td><td>~Sender();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Sender()</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Sender&amp; operator=(const Sender&amp;);</td></tr><tr><td>.NET</td><td>public Sender op_Assign(Sender rhs);</td></tr><tr><td colspan="2" align="center">Method: Send</td></tr><tr><td>C++</td><td>void send(const Message&amp; message, bool sync=false);</td></tr><tr><td>.NET</td><td>public void Send(Message mmsgp);</td></tr><tr><td>.NET</td><td>public void Send(Message mmsgp, bool sync);</td></tr><tr><td colspan="2" align="center">Method: Close</td></tr><tr><td>C++</td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2"
  align="center">Property: Capacity</td></tr><tr><td>C++</td><td>void setCapacity(uint32_t);</td></tr><tr><td>C++</td><td>uint32_t getCapacity();</td></tr><tr><td>.NET</td><td>public uint Capacity { get; set; }</td></tr><tr><td colspan="2" align="center">Property: Available</td></tr><tr><td>C++</td><td>uint32_t getAvailable();</td></tr><tr><td>.NET</td><td>public uint Available { get; }</td></tr><tr><td colspan="2" align="center">Property: Unsettled</td></tr><tr><td>C++</td><td>uint32_t getUnsettled();</td></tr><tr><td>.NET</td><td>public uint Unsettled { get; }</td></tr><tr><td colspan="2" align="center">Property: Name</td></tr><tr><td>C++</td><td>const std::string&amp; getName() const;</td></tr><tr><td>.NET</td><td>public string Name { get; }</td></tr><tr><td colspan="2" align="center">Property: Session</td></tr><tr><td>C++</td><td>Session getSession() const;</td></tr><tr><td>.NET</td><td>public Session Session { get; }</td></tr></tbody></table></div></div><br class="table-
 break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s07.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.5. .NET Binding Class: Receiver </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.7. .NET Binding Class: Session</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s07.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s07.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s07.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s07.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.7. .NET Binding Class: Session</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="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05s06.html" title="5.6. .NET Binding Class: Sender"><link rel="next" href="ch05s08.html" title="5.8. .NET Binding Class: SessionReceiver"></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.7. .NET Binding Class: Session</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s06.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> <a access
 key="n" href="ch05s08.html">Next</a></td></tr></table><hr></div><div class="section" title="5.7. .NET Binding Class: Session"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2594459"></a>5.7. .NET Binding Class: Session</h2></div></div></div><div class="table"><a name="table-Dotnet-Binding-Session"></a><p class="title"><b>Table 5.7. .NET Binding Class: Session</b></p><div class="table-contents"><table summary=".NET Binding Class: Session" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.NET Binding Class: Session</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class Session</td></tr><tr><td>.NET</td><td>public ref class Session</td></tr><tr><td colspan="2" align="center">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is returned by Connection.CreateSession</td></tr><tr><td colspan="2" align="center">Copy constructor</td></tr><tr><td>C++</td><td>Session
 (const Session&amp;);</td></tr><tr><td>.NET</td><td>public Session(Session session);</td></tr><tr><td colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~Session();</td></tr><tr><td>.NET</td><td>~Session();</td></tr><tr><td colspan="2" align="center">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Session()</td></tr><tr><td colspan="2" align="center">Copy assignment operator</td></tr><tr><td>C++</td><td>Session&amp; operator=(const Session&amp;);</td></tr><tr><td>.NET</td><td>public Session op_Assign(Session rhs);</td></tr><tr><td colspan="2" align="center">Method: Close</td></tr><tr><td>C++</td><td>void close();</td></tr><tr><td>.NET</td><td>public void Close();</td></tr><tr><td colspan="2" align="center">Method: Commit</td></tr><tr><td>C++</td><td>void commit();</td></tr><tr><td>.NET</td><td>public void Commit();</td></tr><tr><td colspan="2" align="center">Method: Rollback</td></tr><tr><td>C++</td><td>void rollback();</td></tr><tr>
 <td>.NET</td><td>public void Rollback();</td></tr><tr><td colspan="2" align="center">Method: Acknowledge</td></tr><tr><td>C++</td><td>void acknowledge(bool sync=false);</td></tr><tr><td>.NET</td><td>public void Acknowledge();</td></tr><tr><td>.NET</td><td>public void Acknowledge(bool sync);</td></tr><tr><td colspan="2" align="center">Method: Reject</td></tr><tr><td>C++</td><td>void reject(Message&amp;);</td></tr><tr><td>.NET</td><td>public void Reject(Message __p1);</td></tr><tr><td colspan="2" align="center">Method: Release</td></tr><tr><td>C++</td><td>void release(Message&amp;);</td></tr><tr><td>.NET</td><td>public void Release(Message __p1);</td></tr><tr><td colspan="2" align="center">Method: Sync</td></tr><tr><td>C++</td><td>void sync(bool block=true);</td></tr><tr><td>.NET</td><td>public void Sync();</td></tr><tr><td>.NET</td><td>public void Sync(bool block);</td></tr><tr><td colspan="2" align="center">Property: Receivable</td></tr><tr><td>C++</td><td>uint32_t getReceiv
 able();</td></tr><tr><td>.NET</td><td>public uint Receivable { get; }</td></tr><tr><td colspan="2" align="center">Property: UnsettledAcks</td></tr><tr><td>C++</td><td>uint32_t getUnsettledAcks();</td></tr><tr><td>.NET</td><td>public uint UnsetledAcks { get; }</td></tr><tr><td colspan="2" align="center">Method: NextReceiver</td></tr><tr><td>C++</td><td>bool nextReceiver(Receiver&amp;, Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public bool NextReceiver(Receiver rcvr);</td></tr><tr><td>.NET</td><td>public bool NextReceiver(Receiver rcvr, Duration timeout);</td></tr><tr><td colspan="2" align="center">Method: NextReceiver</td></tr><tr><td>C++</td><td>Receiver nextReceiver(Duration timeout=Duration::FOREVER);</td></tr><tr><td>.NET</td><td>public Receiver NextReceiver();</td></tr><tr><td>.NET</td><td>public Receiver NextReceiver(Duration timeout);</td></tr><tr><td colspan="2" align="center">Method: CreateSender</td></tr><tr><td>C++</td><td>Sender createSende
 r(const Address&amp; address);</td></tr><tr><td>.NET</td><td>public Sender CreateSender(Address address);</td></tr><tr><td colspan="2" align="center">Method: CreateSender</td></tr><tr><td>C++</td><td>Sender createSender(const std::string&amp; address);</td></tr><tr><td>.NET</td><td>public Sender CreateSender(string address);</td></tr><tr><td colspan="2" align="center">Method: CreateReceiver</td></tr><tr><td>C++</td><td>Receiver createReceiver(const Address&amp; address);</td></tr><tr><td>.NET</td><td>public Receiver CreateReceiver(Address address);</td></tr><tr><td colspan="2" align="center">Method: CreateReceiver</td></tr><tr><td>C++</td><td>Receiver createReceiver(const std::string&amp; address);</td></tr><tr><td>.NET</td><td>public Receiver CreateReceiver(string address);</td></tr><tr><td colspan="2" align="center">Method: GetSender</td></tr><tr><td>C++</td><td>Sender getSender(const std::string&amp; name) const;</td></tr><tr><td>.NET</td><td>public Sender GetSender(strin
 g name);</td></tr><tr><td colspan="2" align="center">Method: GetReceiver</td></tr><tr><td>C++</td><td>Receiver getReceiver(const std::string&amp; name) const;</td></tr><tr><td>.NET</td><td>public Receiver GetReceiver(string name);</td></tr><tr><td colspan="2" align="center">Property: Connection</td></tr><tr><td>C++</td><td>Connection getConnection() const;</td></tr><tr><td>.NET</td><td>public Connection Connection { get; }</td></tr><tr><td colspan="2" align="center">Property: HasError</td></tr><tr><td>C++</td><td>bool hasError();</td></tr><tr><td>.NET</td><td>public bool HasError { get; }</td></tr><tr><td colspan="2" align="center">Method: CheckError</td></tr><tr><td>C++</td><td>void checkError();</td></tr><tr><td>.NET</td><td>public void CheckError();</td></tr></tbody></table></div></div><br class="table-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s06.html">Prev</a> </td
 ><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch05s08.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.6. .NET Binding Class: Sender </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 5.8. .NET Binding Class: SessionReceiver</td></tr></table></div></body></html>

Added: qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s08.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s08.html?rev=979878&view=auto
==============================================================================
--- qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s08.html (added)
+++ qpid/site/docs/books/0.7/Programming-In-Apache-Qpid/html/ch05s08.html Tue Jul 27 21:38:18 2010
@@ -0,0 +1,37 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>5.8. .NET Binding Class: SessionReceiver</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="ch05.html" title="Chapter 5. The .NET Binding for the C++ Messaging Client"><link rel="prev" href="ch05s07.html" title="5.7. .NET Binding Class: Session"></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.8. .NET Binding Class: SessionReceiver</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch05s07.html">Prev</a> </td><th width="60%" align="center">Chapter 5. The .NET Binding for the C++ Messaging Client</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="section" title="5.8. .NET Binding Clas
 s: SessionReceiver"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2595391"></a>5.8. .NET Binding Class: SessionReceiver</h2></div></div></div><p>
+	The SessionReceiver class provides a convenient callback
+	mechanism for Messages received by all Receivers on a given
+	Session.
+      </p><p>
+	</p><pre class="programlisting">
+using Org.Apache.Qpid.Messaging;
+using System;
+
+namespace Org.Apache.Qpid.Messaging.SessionReceiver
+{
+    public interface ISessionReceiver
+    {
+        void SessionReceiver(Receiver receiver, Message message);
+    }
+
+    public class CallbackServer
+    {
+        public CallbackServer(Session session, ISessionReceiver callback);
+
+        public void Close();
+    }
+}
+
+	</pre><p>
+      </p><p>
+	To use this class a client program includes references to both
+	Org.Apache.Qpid.Messaging and Org.Apache.Qpid.Messaging.SessionReceiver.
+	The calling program creates a function that implements the 
+	ISessionReceiver interface. This function will be called whenever
+	message is received by the session. The callback process is started
+	by creating a CallbackServer and will continue to run until the 
+	client program calls the CallbackServer.Close function.
+      </p><p>
+	A complete operating example of using the SessionReceiver callback
+	is contained in cpp/bindings/qpid/dotnet/examples/csharp.map.callback.receiver.
+      </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch05s07.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch05.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">5.7. .NET Binding Class: Session </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </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