http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s03.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s03.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s03.html.in
new file mode 100644
index 0000000..a4f9cf2
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s03.html.in
@@ -0,0 +1,48 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">1.3.&#160;A Simple Messaging 
Program in .NET C#</th></tr><tr><td align="left" width="20%"><a accesskey="p" 
href="ch01s02.html">Prev</a>&#160;</td><th align="center" 
width="60%">Chapter&#160;1.&#160;Using the Qpid Messaging API</th><td 
align="right" width="20%">&#160;<a accesskey="n" 
href="section-addresses.html">Next</a></td></tr></table><hr /></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title"><a 
id="idm140612073669760"></a>1.3.&#160;A Simple Messaging Program in .NET 
C#</h2></div></div></div><p>The following .NET C#
+      <a class="footnote" href="#ftn.idm140612073668768" 
id="idm140612073668768"><sup class="footnote">[1]</sup></a>
+      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 id="idm140612073667520"></a><p 
class="title"><strong>Example&#160;1.3.&#160;"Hello world!" in .NET 
C#</strong></p><div class="example-contents"><pre class="programlisting" 
lang="c++" xml:lang="c++">
+         using System;
+         using Org.Apache.Qpid.Messaging;  <a class="co" 
href="ch01s03.html#callout-csharp-using" id="hello-csharp-using">(1)</a>
+
+         namespace Org.Apache.Qpid.Messaging {
+         class Program {
+         static void Main(string[] args) {
+         String broker = args.Length &gt; 0 ? args[0] : "localhost:5672";
+         String address = args.Length &gt; 1 ? args[1] : "amq.topic";
+
+         Connection connection = null;
+         try {
+         connection = new Connection(broker);
+         connection.Open();   <a class="co" 
href="ch01s03.html#callout-csharp-open" id="hello-csharp-open">(2)</a>
+         Session session = connection.CreateSession();   <a class="co" 
href="ch01s03.html#callout-csharp-session" id="hello-csharp-session">(3)</a>
+
+         Receiver receiver = session.CreateReceiver(address);   <a class="co" 
href="ch01s03.html#callout-csharp-receiver" id="hello-csharp-receiver">(4)</a>
+         Sender sender = session.CreateSender(address);   <a class="co" 
href="ch01s03.html#callout-csharp-sender" id="hello-csharp-sender">(5)</a>
+
+         sender.Send(new Message("Hello world!"));
+
+         Message message = new Message();
+         message = receiver.Fetch(DurationConstants.SECOND * 1);   <a 
class="co" href="ch01s03.html#callout-csharp-fetch" 
id="hello-csharp-fetch">(6)</a>
+         Console.WriteLine("{0}", message.GetContent());
+         session.Acknowledge();   <a class="co" 
href="ch01s03.html#callout-csharp-acknowledge" 
id="hello-csharp-acknowledge">(7)</a>
+
+         connection.Close();   <a class="co" 
href="ch01s03.html#callout-csharp-close" id="hello-csharp-close">(8)</a>
+         } catch (Exception e) {
+         Console.WriteLine("Exception {0}.", e);
+         if (null != connection)
+         connection.Close();
+         }
+         }
+         }
+         }
+
+       </pre><div class="calloutlist"><table border="0" summary="Callout 
list"><tr><td align="left" valign="top" width="5%"><p><a 
id="callout-csharp-using"></a><a href="#hello-csharp-using">(1)</a> 
</p></td><td align="left" valign="top"><p> Permits use of 
Org.Apache.Qpid.Messaging types and methods without explicit namespace 
qualification. Any .NET project must have a project reference to the assembly 
file <code class="literal">Org.Apache.Qpid.Messaging.dll</code> in order to 
obtain the definitions of the .NET Binding for Qpid Messaging 
namespace.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a 
id="callout-csharp-open"></a><a href="#hello-csharp-open">(2)</a> </p></td><td 
align="left" valign="top"><p>Establishes the connection with the messaging 
broker.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a 
id="callout-csharp-session"></a><a href="#hello-csharp-session">(3)</a> 
</p></td><td align="left" valign="top"><p>Creates a session object on which 
messages wi
 ll be sent and received.</p></td></tr><tr><td align="left" valign="top" 
width="5%"><p><a id="callout-csharp-receiver"></a><a 
href="#hello-csharp-receiver">(4)</a> </p></td><td align="left" 
valign="top"><p>Creates a receiver that receives messages from the given 
address.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a 
id="callout-csharp-sender"></a><a href="#hello-csharp-sender">(5)</a> 
</p></td><td align="left" valign="top"><p>Creates a sender that sends to the 
given address.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a 
id="callout-csharp-fetch"></a><a href="#hello-csharp-fetch">(6)</a> 
</p></td><td align="left" valign="top"><p>Receives the next message. The 
duration is optional, if omitted, will wait indefinitely for the next 
message.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a 
id="callout-csharp-acknowledge"></a><a href="#hello-csharp-acknowledge">(7)</a> 
</p></td><td align="left" valign="top"><p>Acknowledges receipt of all fe
 tched messages on the
+           session. This informs the broker that the messages were
+           transfered and processed by the client 
successfully.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a 
id="callout-csharp-close"></a><a href="#hello-csharp-close">(8)</a> 
</p></td><td align="left" valign="top"><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 class="footnotes"><br /><hr align="left" width="100" /><div 
class="footnote" id="ftn.idm140612073668768"><p><a class="para" 
href="#idm140612073668768"><sup class="para">[1] </sup></a>
+         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></div></div><div class="navfooter"><hr /><table 
summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a 
accesskey="p" href="ch01s02.html">Prev</a>&#160;</td><td align="center" 
width="20%"><a accesskey="u" 
href="using-the-qpid-messaging-api.html">Up</a></td><td align="right" 
width="40%">&#160;<a accesskey="n" 
href="section-addresses.html">Next</a></td></tr><tr><td align="left" 
valign="top" width="40%">1.2.&#160;A Simple Messaging Program in 
Python&#160;</td><td align="center" width="20%"><a accesskey="h" 
href="index.html">Home</a></td><td align="right" valign="top" 
width="40%">&#160;1.4.&#160;Addresses</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s08.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s08.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s08.html.in
new file mode 100644
index 0000000..f538d03
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s08.html.in
@@ -0,0 +1,37 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">1.8.&#160;Receiving Messages 
from Multiple Sources</th></tr><tr><td align="left" width="20%"><a 
accesskey="p" href="acknowledgements.html">Prev</a>&#160;</td><th 
align="center" width="60%">Chapter&#160;1.&#160;Using the Qpid Messaging 
API</th><td align="right" width="20%">&#160;<a accesskey="n" 
href="ch01s09.html">Next</a></td></tr></table><hr /></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title"><a 
id="idm140612067926880"></a>1.8.&#160;Receiving Messages from Multiple 
Sources</h2></div></div></div><p>A receiver can only read from one source, but 
many
+      programs need to be able to read messages from many sources. In
+      the Qpid Messaging API, a program can ask a session for
+      the <span class="quote">&#8220;<span class="quote">next 
receiver</span>&#8221;</span>; that is, the receiver that is
+      responsible for the next available message. The following
+      examples show how this is done in C++, Python, and .NET C#.
+      </p><p>Note that to use this pattern you must enable prefetching
+      for each receiver of interest so that the broker will send
+      messages before a fetch call is made. See
+      <a class="xref" href="prefetch.html" title="1.6.&#160;Receiver Capacity 
(Prefetch)">Section&#160;1.6, &#8220;Receiver Capacity (Prefetch)&#8221;</a> 
for more on this.</p><div class="example"><a id="idm140612067924000"></a><p 
class="title"><strong>Example&#160;1.12.&#160;Receiving Messages from Multiple 
Sources</strong></p><div class="example-contents"><p>C++:</p><pre 
class="programlisting">
+       Receiver receiver1 = session.createReceiver(address1);
+       receiver1.setCapacity(10);
+       Receiver receiver2 = session.createReceiver(address2);
+       receiver2.setCapacity(10);
+
+       Message message =  session.nextReceiver().fetch();
+       std::cout &lt;&lt; message.getContent() &lt;&lt; std::endl;
+       session.acknowledge(); // acknowledge message receipt
+                 </pre><p>Python:</p><pre class="programlisting">
+       receiver1 = session.receiver(address1)
+       receiver1.capacity = 10
+       receiver2 = session.receiver(address)
+       receiver2.capacity = 10
+       message = session.next_receiver().fetch()
+       print message.content
+       session.acknowledge()
+                 </pre><p>.NET C#:</p><pre class="programlisting">
+       Receiver receiver1 = session.CreateReceiver(address1);
+       receiver1.Capacity = 10;
+       Receiver receiver2 = session.CreateReceiver(address2);
+       receiver2.Capacity = 10;
+
+       Message message = new Message();
+       message =  session.NextReceiver().Fetch();
+       Console.WriteLine("{0}", message.GetContent());
+       session.Acknowledge();
+                 </pre></div></div><br class="example-break" /></div><div 
class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td 
align="left" width="40%"><a accesskey="p" 
href="acknowledgements.html">Prev</a>&#160;</td><td align="center" 
width="20%"><a accesskey="u" 
href="using-the-qpid-messaging-api.html">Up</a></td><td align="right" 
width="40%">&#160;<a accesskey="n" 
href="ch01s09.html">Next</a></td></tr><tr><td align="left" valign="top" 
width="40%">1.7.&#160;Acknowledging Received Messages&#160;</td><td 
align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td 
align="right" valign="top" 
width="40%">&#160;1.9.&#160;Transactions</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s09.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s09.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s09.html.in
new file mode 100644
index 0000000..8615991
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s09.html.in
@@ -0,0 +1,33 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" 
colspan="3">1.9.&#160;Transactions</th></tr><tr><td align="left" width="20%"><a 
accesskey="p" href="ch01s08.html">Prev</a>&#160;</td><th align="center" 
width="60%">Chapter&#160;1.&#160;Using the Qpid Messaging API</th><td 
align="right" width="20%">&#160;<a accesskey="n" 
href="connections.html">Next</a></td></tr></table><hr /></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title"><a 
id="idm140612067918192"></a>1.9.&#160;Transactions</h2></div></div></div><p>Sometimes
 it is useful to be able to group messages
+      transfers - sent and/or received - on a session into atomic
+      grouping. This can be done be creating the session as
+      transactional. On a transactional session sent messages only
+      become available at the target address on commit. Likewise any
+      received and acknowledged messages are only discarded at their
+      source on commit
+
+      <a class="footnote" href="#ftn.idm140612067916864" 
id="idm140612067916864"><sup class="footnote">[8]</sup></a>
+
+      .</p><div class="example"><a id="idm140612067915952"></a><p 
class="title"><strong>Example&#160;1.13.&#160;Transactions</strong></p><div 
class="example-contents"><p>C++:</p><pre class="programlisting">
+       Connection connection(broker);
+       Session session =  connection.createTransactionalSession();
+       ...
+       if (smellsOk())
+       session.commit();
+       else
+       session.rollback();
+       </pre><p>
+         .NET C#:
+       </p><pre class="programlisting">
+         Connection connection = new Connection(broker);
+         Session session =  connection.CreateTransactionalSession();
+         ...
+         if (smellsOk())
+         session.Commit();
+         else
+         session.Rollback();
+       </pre></div></div><br class="example-break" /><div 
class="footnotes"><br /><hr align="left" width="100" /><div class="footnote" 
id="ftn.idm140612067916864"><p><a class="para" href="#idm140612067916864"><sup 
class="para">[8] </sup></a>Note that this currently is only true for
+      messages received using a reliable mode
+      e.g. at-least-once. Messages sent by a broker to a receiver in
+      unreliable receiver will be discarded immediately regardless of
+      transctionality.</p></div></div></div><div class="navfooter"><hr 
/><table summary="Navigation footer" width="100%"><tr><td align="left" 
width="40%"><a accesskey="p" href="ch01s08.html">Prev</a>&#160;</td><td 
align="center" width="20%"><a accesskey="u" 
href="using-the-qpid-messaging-api.html">Up</a></td><td align="right" 
width="40%">&#160;<a accesskey="n" 
href="connections.html">Next</a></td></tr><tr><td align="left" valign="top" 
width="40%">1.8.&#160;Receiving Messages from Multiple Sources&#160;</td><td 
align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td 
align="right" valign="top" 
width="40%">&#160;1.10.&#160;Connections</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s12.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s12.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s12.html.in
new file mode 100644
index 0000000..6ba9081
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s12.html.in
@@ -0,0 +1,42 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">1.12.&#160;The Request / 
Response Pattern</th></tr><tr><td align="left" width="20%"><a accesskey="p" 
href="section-Maps.html">Prev</a>&#160;</td><th align="center" 
width="60%">Chapter&#160;1.&#160;Using the Qpid Messaging API</th><td 
align="right" width="20%">&#160;<a accesskey="n" 
href="ch01s13.html">Next</a></td></tr></table><hr /></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title"><a 
id="idm140612067760944"></a>1.12.&#160;The Request / Response 
Pattern</h2></div></div></div><p>Request / Response applications use the 
reply-to property,
+      described in <a class="xref" 
href="section-amqp0-10-mapping.html#table-amqp0-10-message-properties" 
title="Table&#160;1.9.&#160;Mapping to AMQP 0-10 Message 
Properties">Table&#160;1.9, &#8220;Mapping to AMQP 0-10 Message 
Properties&#8221;</a>, to allow a server
+      to respond to the client that sent a message. A server sets up a
+      service queue, with a name known to clients. A client creates a
+      private queue for the server's response, creates a message for a
+      request, sets the request's reply-to property to the address of
+      the client's response queue, and sends the request to the
+      service queue. The server sends the response to the address
+      specified in the request's reply-to property.
+      </p><div class="example"><a id="idm140612067758816"></a><p 
class="title"><strong>Example&#160;1.18.&#160;Request / Response Applications 
in C++</strong></p><div class="example-contents"><p>This example shows the C++ 
code for a client and server
+       that use the request / response pattern.</p><p>The server creates a 
service queue and waits for a
+       message to arrive. If it receives a message, it sends a
+       message back to the sender.</p><pre class="programlisting">Receiver 
receiver = session.createReceiver("service_queue; {create: always}");
+
+       Message request = receiver.fetch();
+       const Address&amp;amp; address = request.getReplyTo(); // Get 
"reply-to" from request ...
+       if (address) {
+       Sender sender = session.createSender(address); // ... send response to 
"reply-to"
+       Message response("pong!");
+       sender.send(response);
+       session.acknowledge();
+       }
+       </pre><p>The client creates a sender for the service queue, and
+       also creates a response queue that is deleted when the
+       client closes the receiver for the response queue. In the C++
+       client, if the address starts with the character
+       <code class="literal">#</code>, it is given a unique name.</p><pre 
class="programlisting">
+       Sender sender = session.createSender("service_queue");
+
+       Address responseQueue("#response-queue; {create:always, 
delete:always}");
+       Receiver receiver = session.createReceiver(responseQueue);
+
+       Message request;
+       request.setReplyTo(responseQueue);
+       request.setContent("ping");
+       sender.send(request);
+       Message response = receiver.fetch();
+       std::cout &lt;&lt; request.getContent() &lt;&lt; " -&gt; " &lt;&lt; 
response.getContent() &lt;&lt; std::endl;
+                 </pre><p>The client sends the string <code 
class="literal">ping</code> to
+       the server. The server sends the response
+       <code class="literal">pong</code> back to the same client, using the
+       <code class="varname">replyTo</code> property.</p></div></div><br 
class="example-break" /></div><div class="navfooter"><hr /><table 
summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a 
accesskey="p" href="section-Maps.html">Prev</a>&#160;</td><td align="center" 
width="20%"><a accesskey="u" 
href="using-the-qpid-messaging-api.html">Up</a></td><td align="right" 
width="40%">&#160;<a accesskey="n" 
href="ch01s13.html">Next</a></td></tr><tr><td align="left" valign="top" 
width="40%">1.11.&#160;Maps and Lists in Message Content&#160;</td><td 
align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td 
align="right" valign="top" width="40%">&#160;1.13.&#160;Performance 
Tips</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s13.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s13.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s13.html.in
new file mode 100644
index 0000000..a0c1710
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s13.html.in
@@ -0,0 +1,22 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">1.13.&#160;Performance 
Tips</th></tr><tr><td align="left" width="20%"><a accesskey="p" 
href="ch01s12.html">Prev</a>&#160;</td><th align="center" 
width="60%">Chapter&#160;1.&#160;Using the Qpid Messaging API</th><td 
align="right" width="20%">&#160;<a accesskey="n" 
href="ch01s14.html">Next</a></td></tr></table><hr /></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title"><a 
id="idm140612067750560"></a>1.13.&#160;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="prefetch.html" title="1.6.&#160;Receiver 
Capacity (Prefetch)">Section&#160;1.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="acknowledgements.html" 
title="1.7.&#160;Acknowledging Received Messages">Section&#160;1.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="replay.html" title="1.5.&#160;Sender Capacity 
and Replay">Section&#160;1.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><li class="listitem"><p>For latency sensitive 
applications, setting tcp-nodelay
+         on qpidd and on client connections can help reduce the
+         latency.</p></li></ul></div></div><div class="navfooter"><hr /><table 
summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a 
accesskey="p" href="ch01s12.html">Prev</a>&#160;</td><td align="center" 
width="20%"><a accesskey="u" 
href="using-the-qpid-messaging-api.html">Up</a></td><td align="right" 
width="40%">&#160;<a accesskey="n" 
href="ch01s14.html">Next</a></td></tr><tr><td align="left" valign="top" 
width="40%">1.12.&#160;The Request / Response Pattern&#160;</td><td 
align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td 
align="right" valign="top" width="40%">&#160;1.14.&#160;Cluster 
Failover</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s14.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s14.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s14.html.in
new file mode 100644
index 0000000..2d84b24
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s14.html.in
@@ -0,0 +1,34 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">1.14.&#160;Cluster 
Failover</th></tr><tr><td align="left" width="20%"><a accesskey="p" 
href="ch01s13.html">Prev</a>&#160;</td><th align="center" 
width="60%">Chapter&#160;1.&#160;Using the Qpid Messaging API</th><td 
align="right" width="20%">&#160;<a accesskey="n" 
href="ch01s15.html">Next</a></td></tr></table><hr /></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title"><a 
id="idm140612067741872"></a>1.14.&#160;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
+
+      <a class="footnote" href="#ftn.idm140612067740624" 
id="idm140612067740624"><sup class="footnote">[11]</sup></a>
+
+      . 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 id="idm140612067739088"></a><p 
class="title"><strong>Example&#160;1.19.&#160;Tracking cluster 
membership</strong></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><p>
+         In .NET C#:
+       </p><pre class="programlisting">
+         using Org.Apache.Qpid.Messaging;
+         ...
+         connection = new Connection("localhost:5672");
+         connection.SetOption("reconnect", true);
+         try {
+         connection.Open();
+         FailoverUpdates failover = new FailoverUpdates(connection);
+
+       </pre></div></div><br class="example-break" /><div 
class="footnotes"><br /><hr align="left" width="100" /><div class="footnote" 
id="ftn.idm140612067740624"><p><a class="para" href="#idm140612067740624"><sup 
class="para">[11] </sup></a>This is done via the amq.failover exchange in AMQP 
0-10</p></div></div></div><div class="navfooter"><hr /><table 
summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a 
accesskey="p" href="ch01s13.html">Prev</a>&#160;</td><td align="center" 
width="20%"><a accesskey="u" 
href="using-the-qpid-messaging-api.html">Up</a></td><td align="right" 
width="40%">&#160;<a accesskey="n" 
href="ch01s15.html">Next</a></td></tr><tr><td align="left" valign="top" 
width="40%">1.13.&#160;Performance Tips&#160;</td><td align="center" 
width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;1.15.&#160;Logging</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s15.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s15.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s15.html.in
new file mode 100644
index 0000000..12911f0
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch01s15.html.in
@@ -0,0 +1,26 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" 
colspan="3">1.15.&#160;Logging</th></tr><tr><td align="left" width="20%"><a 
accesskey="p" href="ch01s14.html">Prev</a>&#160;</td><th align="center" 
width="60%">Chapter&#160;1.&#160;Using the Qpid Messaging API</th><td 
align="right" width="20%">&#160;<a accesskey="n" 
href="section-amqp0-10-mapping.html">Next</a></td></tr></table><hr /></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title"><a 
id="idm140612067733584"></a>1.15.&#160;Logging</h2></div></div></div><p>To 
simplify debugging, Qpid provides a logging facility
+      that prints out messaging events.</p><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="idm140612067732448"></a>1.15.1.&#160;Logging in 
C++</h3></div></div></div><p>
+         The Qpidd broker and C++ clients can both use environment variables 
to enable logging. Linux and Windows systems use the same named environment 
variables and values.
+       </p><p>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><p>
+         From a Windows command prompt, use the following command format to 
set the environment variables:
+       </p><pre class="screen">
+         set QPID_LOG_ENABLE=warning+
+         set QPID_LOG_TO_FILE=D:\tmp\myclient.out
+       </pre></div><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="idm140612067727440"></a>1.15.2.&#160;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 summary="Navigation 
footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" 
href="ch01s14.html">Prev</a>&#160;</td><td align="center" width="20%"><a 
accesskey="u" href="using-the-qpid-messaging-api.html">Up</a></td><td 
align="right" width="40%">&#160;<a accesskey="n" 
href="section-amqp0-10-mapping.html">Next</a></td></tr><tr><td align="left" 
valign="top" width="40%">1.14.&#160;Cluster Failover&#160;</td><td 
align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td 
align="right" valign="top" width="40%">&#160;1.16.&#160;The AMQP 0-10 
mapping</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02.html.in
new file mode 100644
index 0000000..1760683
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02.html.in
@@ -0,0 +1,41 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">Chapter&#160;2.&#160;The .NET 
Binding for the C++ Messaging Client</th></tr><tr><td align="left" 
width="20%"><a accesskey="p" 
href="Message-Groups-Guide.html">Prev</a>&#160;</td><th align="center" 
width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" 
href="ch02s02.html">Next</a></td></tr></table><hr /></div><div 
class="chapter"><div class="titlepage"><div><div><h1 class="title"><a 
id="idm140612067657696"></a>Chapter&#160;2.&#160;The .NET Binding for the C++ 
Messaging Client</h1></div></div></div><div class="toc"><p><strong>Table of 
Contents</strong></p><dl class="toc"><dt><span class="section"><a 
href="ch02.html#idm140612067656496">2.1. .NET Binding for the C++ Messaging 
Client Component Architecture</a></span></dt><dt><span class="section"><a 
href="ch02s02.html">2.2. .NET Binding for the C++ Messaging Client 
Examples</a></span></dt><dt
 ><span class="section"><a href="ch02s03.html">2.3. .NET Binding Class Mapping 
 >to Underlying C++ Messaging API</a></span></dt><dd><dl><dt><span 
 >class="section"><a href="ch02s03.html#idm140612067592256">2.3.1. .NET Binding 
 >for the C++ Messaging API Class: Address</a></span></dt><dt><span 
 >class="section"><a href="ch02s03.html#idm140612067521424">2.3.2. .NET Binding 
 >for the C++ Messaging API Class: Connection</a></span></dt><dt><span 
 >class="section"><a href="ch02s03.html#idm140612067446304">2.3.3. .NET Binding 
 >for the C++ Messaging API Class: Duration</a></span></dt><dt><span 
 >class="section"><a href="ch02s03.html#idm140612067396976">2.3.4. .NET Binding 
 >for the C++ Messaging API Class: FailoverUpdates</a></span></dt><dt><span 
 >class="section"><a href="ch02s03.html#idm140612067375856">2.3.5. .NET Binding 
 >for the C++ Messaging API Class: Message</a></span></dt><dt><span 
 >class="section"><a href="ch02s03.html#idm140612067237616">2.3.6. .NET Binding 
 >for the C++ Messaging API Class: Receiver</a
 ></span></dt><dt><span class="section"><a 
 >href="ch02s03.html#idm140612067162192">2.3.7. .NET Binding for the C++ 
 >Messaging API Class: Sender</a></span></dt><dt><span class="section"><a 
 >href="ch02s03.html#idm140612067105680">2.3.8. .NET Binding for the C++ 
 >Messaging API Class: Session</a></span></dt><dt><span class="section"><a 
 >href="ch02s03.html#idm140612066993296">2.3.9. .NET Binding Class: 
 >SessionReceiver</a></span></dt></dl></dd></dl></div><p>
+      The .NET Binding for the C++ Qpid Messaging Client is a library that 
gives
+      any .NET program access to Qpid C++ Messaging objects and methods.
+    </p><div class="section"><div class="titlepage"><div><div><h2 
class="title"><a id="idm140612067656496"></a>2.1.&#160;.NET Binding for the C++ 
Messaging Client Component Architecture</h2></div></div></div><pre 
class="programlisting">
+                      +----------------------------+
+                      | Dotnet examples            |
+                      | Managed C#                 |
+                      +------+---------------+-----+
+                             |               |
+                             V               |
+        +---------------------------+        |
+        | .NET Managed Callback     |        |
+        | org.apache.qpid.messaging.|        |
+        | sessionreceiver.dll       |        |
+        +----------------------+----+        |
+                               |             |
+managed                        V             V
+(.NET)                 +--------------------------------+
+:::::::::::::::::::::::| .NET Binding Library           |::::::::::::
+unmanaged              | org.apache.qpid.messaging.dll  |
+(Native Win32/64)      +---------------+----------------+
+                                       |
+                                       |
+      +----------------+               |
+      | Native examples|               |
+      | Unmanaged C++  |               |
+      +--------+-------+               |
+               |                       |
+               V                       V
+          +----------------------------------+
+          | QPID Messaging C++ Libraries     |
+          | qpid*.dll qmf*.dll               |
+          +--------+--------------+----------+
+</pre><p>This diagram illustrates the code and library components of the 
binding
+and the hierarchical relationships between them.</p><div class="table"><a 
id="table-Dotnet-Binding-Component-Architecture"></a><p 
class="title"><strong>Table&#160;2.1.&#160;.NET Binding for the C++ Messaging 
Client Component Architecture</strong></p><div class="table-contents"><table 
border="1" class="table" summary=".NET Binding for the C++ Messaging Client 
Component Architecture"><colgroup><col /><col 
/></colgroup><thead><tr><th>Component Name</th><th>Component 
Function</th></tr></thead><tbody><tr><td>QPID Messaging C++ 
Libraries</td><td>The QPID Messaging C++ core run time 
system</td></tr><tr><td>Unmanaged C++ Example Source Programs</td><td>Ordinary 
C++ programs that illustrate using qpid/cpp Messaging directly
+               in a native Windows environment.</td></tr><tr><td>.NET 
Messaging Binding Library</td><td>The .NET Messaging Binding library provides 
interoprability between
+               managed .NET programs and the unmanaged, native Qpid Messaging 
C++ core
+               run time system. .NET programs create a Reference to this 
library thereby
+               exposing all of the native C++ Messaging functionality to 
programs
+               written in any .NET language.</td></tr><tr><td>.NET Messaging 
Managed Callback Library</td><td>An extension of the .NET Messaging Binding 
Library that provides message
+               callbacks in a managed .NET 
environment.</td></tr><tr><td>Managed C# .NET Example Source 
Programs</td><td>Various C# example programs that illustrate using .NET Binding 
for C++ Messaging in the .NET 
environment.</td></tr></tbody></table></div></div><br class="table-break" 
/></div></div><div class="navfooter"><hr /><table summary="Navigation footer" 
width="100%"><tr><td align="left" width="40%"><a accesskey="p" 
href="Message-Groups-Guide.html">Prev</a>&#160;</td><td align="center" 
width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" 
href="ch02s02.html">Next</a></td></tr><tr><td align="left" valign="top" 
width="40%">1.17.&#160;Using Message Groups&#160;</td><td align="center" 
width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" 
valign="top" width="40%">&#160;2.2.&#160;.NET Binding for the C++ Messaging 
Client Examples</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02s02.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02s02.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02s02.html.in
new file mode 100644
index 0000000..9060260
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02s02.html.in
@@ -0,0 +1,18 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">2.2.&#160;.NET Binding for the 
C++ Messaging Client Examples</th></tr><tr><td align="left" width="20%"><a 
accesskey="p" href="ch02.html">Prev</a>&#160;</td><th align="center" 
width="60%">Chapter&#160;2.&#160;The .NET Binding for the C++ Messaging 
Client</th><td align="right" width="20%">&#160;<a accesskey="n" 
href="ch02s03.html">Next</a></td></tr></table><hr /></div><div 
class="section"><div class="titlepage"><div><div><h2 class="title"><a 
id="idm140612067642848"></a>2.2.&#160;.NET Binding for the C++ Messaging Client 
Examples</h2></div></div></div><p>This chapter describes the various sample 
programs that
+      are available to illustrate common Qpid Messaging usage.</p><div 
class="table"><a id="table-Dotnet-Binding-Example-Client-Server"></a><p 
class="title"><strong>Table&#160;2.2.&#160;Example : Client - 
Server</strong></p><div class="table-contents"><table border="1" class="table" 
summary="Example : Client - Server"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th>Example Name</th><th>Example 
Description</th></tr></thead><tbody><tr><td>csharp.example.server</td><td>Creates
 a Receiver and listens for messages.
+               Upon message reception the message content is converted to 
upper case
+               and forwarded to the received message's ReplyTo 
address.</td></tr><tr><td>csharp.example.client</td><td>Sends a series of 
messages to the Server and prints the original message
+               content and the received message 
content.</td></tr></tbody></table></div></div><br class="table-break" /><div 
class="table"><a id="table-Dotnet-Binding-Example-MapSender-MapReceiver"></a><p 
class="title"><strong>Table&#160;2.3.&#160;Example : Map Sender &#8211; Map 
Receiver</strong></p><div class="table-contents"><table border="1" 
class="table" summary="Example : Map Sender &#8211; Map 
Receiver"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th>Example Name</th><th>Example 
Description</th></tr></thead><tbody><tr><td>csharp.map.receiver</td><td>Creates 
a Receiver and listens for a map message.
+               Upon message reception the message is decoded and displayed on 
the console.</td></tr><tr><td>csharp.map.sender</td><td>Creates a map message 
and sends it to map.receiver.
+               The map message contains values for every supported .NET 
Messaging
+               Binding data type.</td></tr></tbody></table></div></div><br 
class="table-break" /><div class="table"><a 
id="table-Dotnet-Binding-Example-Spout-Drain"></a><p 
class="title"><strong>Table&#160;2.4.&#160;Example : Spout - 
Drain</strong></p><div class="table-contents"><table border="1" class="table" 
summary="Example : Spout - Drain"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th>Example Name</th><th>Example 
Description</th></tr></thead><tbody><tr><td>csharp.example.spout</td><td>Spout 
is a more complex example of code that generates a series of messages
+               and sends them to peer program Drain. Flexible command line 
arguments allow
+               the user to specify a variety of message and program 
options.</td></tr><tr><td>csharp.example.drain</td><td>Drain is a more complex 
example of code that receives a series of messages
+               and displays their contents on the 
console.</td></tr></tbody></table></div></div><br class="table-break" /><div 
class="table"><a 
id="table-Dotnet-Binding-Example-CallbackSender-CallbackReceiver"></a><p 
class="title"><strong>Table&#160;2.5.&#160;Example : Map Callback Sender 
&#8211; Map Callback Receiver</strong></p><div class="table-contents"><table 
border="1" class="table" summary="Example : Map Callback Sender &#8211; Map 
Callback Receiver"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th>Example Name</th><th>Example 
Description</th></tr></thead><tbody><tr><td>csharp.map.callback.receiver</td><td>Creates
 a Receiver and listens for a map message.
+               Upon message reception the message is decoded and displayed on 
the console.
+               This example illustrates the use of the C# managed code 
callback mechanism
+               provided by .NET Messaging Binding Managed Callback 
Library.</td></tr><tr><td>csharp.map.callback.sender</td><td>Creates a map 
message and sends it to map_receiver.
+               The map message contains values for every supported .NET 
Messaging
+               Binding data type.</td></tr></tbody></table></div></div><br 
class="table-break" /><div class="table"><a 
id="table-Dotnet-Binding-Example-DeclareQueues"></a><p 
class="title"><strong>Table&#160;2.6.&#160;Example - Declare 
Queues</strong></p><div class="table-contents"><table border="1" class="table" 
summary="Example - Declare Queues"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th>Example Name</th><th>Example 
Description</th></tr></thead><tbody><tr><td>csharp.example.declare_queues</td><td>A
 program to illustrate creating objects on a broker.
+               This program creates a queue used by spout and 
drain.</td></tr></tbody></table></div></div><br class="table-break" /><div 
class="table"><a 
id="table-Dotnet-Binding-Example-DirectSender-DirectReceiver"></a><p 
class="title"><strong>Table&#160;2.7.&#160;Example: Direct Sender - Direct 
Receiver</strong></p><div class="table-contents"><table border="1" 
class="table" summary="Example: Direct Sender - Direct Receiver"><colgroup><col 
class="c1" /><col class="c2" /></colgroup><thead><tr><th>Example 
Name</th><th>Example 
Description</th></tr></thead><tbody><tr><td>csharp.direct.receiver</td><td>Creates
 a Receiver and listens for a messages.
+               Upon message reception the message is decoded and displayed on 
the console.</td></tr><tr><td>csharp.direct.sender</td><td> Creates a series of 
messages and sends them to 
csharp.direct.receiver.</td></tr></tbody></table></div></div><br 
class="table-break" /><div class="table"><a 
id="table-Dotnet-Binding-Example-Helloworld"></a><p 
class="title"><strong>Table&#160;2.8.&#160;Example: Hello 
World</strong></p><div class="table-contents"><table border="1" class="table" 
summary="Example: Hello World"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th>Example Name</th><th>Example 
Description</th></tr></thead><tbody><tr><td>csharp.example.helloworld</td><td>A 
program to send a message and to receive the same 
message.</td></tr></tbody></table></div></div><br class="table-break" 
/></div><div class="navfooter"><hr /><table summary="Navigation footer" 
width="100%"><tr><td align="left" width="40%"><a accesskey="p" 
href="ch02.html">Prev</a>&#160;</td><td align="center" width=
 "20%"><a accesskey="u" href="ch02.html">Up</a></td><td align="right" 
width="40%">&#160;<a accesskey="n" 
href="ch02s03.html">Next</a></td></tr><tr><td align="left" valign="top" 
width="40%">Chapter&#160;2.&#160;The .NET Binding for the C++ Messaging 
Client&#160;</td><td align="center" width="20%"><a accesskey="h" 
href="index.html">Home</a></td><td align="right" valign="top" 
width="40%">&#160;2.3.&#160;.NET Binding Class Mapping to Underlying C++ 
Messaging API</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/c3ab60f6/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02s03.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02s03.html.in 
b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02s03.html.in
new file mode 100644
index 0000000..046dcbd
--- /dev/null
+++ b/input/releases/qpid-cpp-1.39.0/messaging-api/book/ch02s03.html.in
@@ -0,0 +1,39 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" 
width="100%"><tr><th align="center" colspan="3">2.3.&#160;.NET Binding Class 
Mapping to Underlying C++ Messaging API</th></tr><tr><td align="left" 
width="20%"><a accesskey="p" href="ch02s02.html">Prev</a>&#160;</td><th 
align="center" width="60%">Chapter&#160;2.&#160;The .NET Binding for the C++ 
Messaging Client</th><td align="right" width="20%">&#160;</td></tr></table><hr 
/></div><div class="section"><div class="titlepage"><div><div><h2 
class="title"><a id="idm140612067593504"></a>2.3.&#160;.NET Binding Class 
Mapping to Underlying C++ Messaging API</h2></div></div></div><p>This chapter 
describes the specific mappings between
+      classes in the .NET Binding and the underlying C++ Messaging
+      API.</p><div class="section"><div class="titlepage"><div><div><h3 
class="title"><a id="idm140612067592256"></a>2.3.1.&#160;.NET Binding for the 
C++ Messaging API Class: Address</h3></div></div></div><div class="table"><a 
id="table-Dotnet-Binding-Address"></a><p 
class="title"><strong>Table&#160;2.9.&#160;.NET Binding for the C++ Messaging 
API Class: Address</strong></p><div class="table-contents"><table border="1" 
class="table" summary=".NET Binding for the C++ Messaging API Class: 
Address"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th align="center" colspan="2">.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 align="center" 
colspan="2">Constructor</td></tr><tr><td>C++</td><td>Address();</td></tr><tr><td>.NET</td><td>public
 Address();</td></tr><tr><td align="center" 
colspan="2">Constructor</td></tr><tr><t
 d>C++</td><td>Address(const std::string&amp; 
address);</td></tr><tr><td>.NET</td><td>public Address(string 
address);</td></tr><tr><td align="center" 
colspan="2">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 align="center" colspan="2">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 align="center" 
colspan="2">Destructor</td></tr><tr><td>C++</td><td>~Address();</td></tr><tr><td>.NET</td><td>~Address();</td></tr><tr><td
 align="center" colspan="2">Finalizer</td></tr><tr><td
 >C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Address();</td></tr><tr><td 
 >align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 
align="center" colspan="2">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 align="center" 
colspan="2">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 
align="center" colspan="2">Miscellaneous</td></tr><tr><td>C++</td><td>operator 
bool() const;</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td align="center" 
colspan="2">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 class="section"><div c
 lass="titlepage"><div><div><h3 class="title"><a 
id="idm140612067521424"></a>2.3.2.&#160;.NET Binding for the C++ Messaging API 
Class: Connection</h3></div></div></div><div class="table"><a 
id="table-Dotnet-Binding-Connection"></a><p 
class="title"><strong>Table&#160;2.10.&#160;.NET Binding for the C++ Messaging 
API Class: Connection</strong></p><div class="table-contents"><table border="1" 
class="table" summary=".NET Binding for the C++ Messaging API Class: 
Connection"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th align="center" colspan="2">.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 align="center" 
colspan="2">Constructor</td></tr><tr><td>C++</td><td>Connection(ConnectionImpl* 
impl);</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td align="ce
 nter" 
colspan="2">Constructor</td></tr><tr><td>C++</td><td>Connection();</td></tr><tr><td>.NET</td><td>n/a</td></tr><tr><td
 align="center" 
colspan="2">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 align="center" 
colspan="2">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 align="center" colspan="2">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 align="center" 
colspan="2">Destructor</td></tr><tr><td>C++</td><td>~Connect
 ion();</td></tr><tr><td>.NET</td><td>~Connection();</td></tr><tr><td 
align="center" 
colspan="2">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Connection();</td></tr><tr><td
 align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 
align="center" colspan="2">Property: isOpen</td></tr><tr><td>C++</td><td>bool 
isOpen();</td></tr><tr><td>.NET</td><td>public bool IsOpen { get; 
}</td></tr><tr><td align=
 "center" colspan="2">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 
align="center" colspan="2">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 align="center" 
colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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="section"><div 
 >class="titlepage"><div><div><h3 class="title"><a 
 >id="idm140612067446304"></a>2.3.3.&#160;.NET Binding for the C++ Messaging 
 >API Class: Duration</h3></div></div></div><div class="table"><a 
 >id="table-Dotnet-Binding-Duration"></a><p 
 >class="title"><strong>Table&#160;2.11.&#160;.NET Binding for the C++ 
 >Messaging API Class: Duration</strong></p><div class="table-contents"><table 
 >border="1" class="table" summary=".NET Binding for the C++ Messaging API 
 >Class: Duration"><colgroup><col class="c1" /><col class="c2" 
 >/></colgroup><thead><tr><th align="center" colspan="2">.NET Binding Class: 
 >Duration</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class
 > Dur
 ation</td></tr><tr><td>.NET</td><td>public ref class Duration</td></tr><tr><td 
align="center" colspan="2">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 align="center" colspan="2">Copy 
constructor</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>public
 Duration(Duration rhs);</td></tr><tr><td align="center" 
colspan="2">Destructor</td></tr><tr><td>C++</td><td>default</td></tr><tr><td>.NET</td><td>default</td></tr><tr><td
 align="center" 
colspan="2">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>default</td></tr><tr><td
 align="center" colspan="2">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 align="center" colspan="2">Operator: 
*</td></tr><tr><td>C++</td><td>Duration operator*(const Duration&amp; duration, 
uint64_t mul
 tiplier);</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 align="center" 
colspan="2">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="section"><div class="titlepage"><div><div><h3 
 >class="title"><a id="idm140612067396976"></a>2.3.4.&#160;.NET Binding for the 
 >C++ Messaging API Class: FailoverUpdates</h3></div></div></div><div 
 >class="table"><a id="table-Dotnet-Binding-FailoverUpdates"></a><p 
 >class="title"><strong>Table&#160;2.12.&#160;.NET Binding for the C++ 
 >Messaging API Class: FailoverUpdates</strong></p><div 
 >class="table-contents"><table border="1" class="table" summary=".NET Binding 
 >for the C++ Messaging API Class: FailoverUpdates"><colgroup><col class="c1" 
 >/><col class="c2" /></colgroup><thead><tr><th align="center" colspan="2">.NET 
 >Binding Class: 
 >FailoverUpdates</th></tr><tr><th>Language</th><th>Syntax</th></tr></thead><tbody><tr><td>C++</td><td>class
 > FailoverUpdates</td></tr><tr><td>.NET</td><td>public ref class FailoverUpdat
 es</td></tr><tr><td align="center" 
colspan="2">Constructor</td></tr><tr><td>C++</td><td>FailoverUpdates(Connection&amp;
 connection);</td></tr><tr><td>.NET</td><td>public FailoverUpdates(Connection 
connection);</td></tr><tr><td align="center" 
colspan="2">Destructor</td></tr><tr><td>C++</td><td>~FailoverUpdates();</td></tr><tr><td>.NET</td><td>~FailoverUpdates();</td></tr><tr><td
 align="center" 
colspan="2">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!FailoverUpdates();</td></tr></tbody></table></div></div><br
 class="table-break" /></div><div class="section"><div 
class="titlepage"><div><div><h3 class="title"><a 
id="idm140612067375856"></a>2.3.5.&#160;.NET Binding for the C++ Messaging API 
Class: Message</h3></div></div></div><div class="table"><a 
id="table-Dotnet-Binding-Message"></a><p 
class="title"><strong>Table&#160;2.13.&#160;.NET Binding for the C++ Messaging 
API Class: Message</strong></p><div class="table-contents"><table border="1" 
class="table" sum
 mary=".NET Binding for the C++ Messaging API Class: Message"><colgroup><col 
class="c1" /><col class="c2" /></colgroup><thead><tr><th align="center" 
colspan="2">.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 align="center" 
colspan="2">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);</td></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 align="center" 
colspan="2">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 align="center" 
colspan="2">Destructor</td></tr><tr><td>C++</td><td>~Message();</td></tr><tr><td>.NET</td><td>~Message();</td></tr><tr><td
 align="center" 
colspan="2">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Message()</td></tr><tr><td
 align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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; 
getMessageId() const;</td></tr><tr><td>.NET</td><td>public string MessageId { 
get; set; }</td></tr><tr><td align="center" colspan="2">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 align="center" colspan="2">Property: 
CorrelationId</td></tr><t
 r><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 align="center" 
colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">Property: Redelivered</t
 d></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 align="center" colspan="2">Method: 
SetProperty</td></tr><tr><td>C++</td><td>void setProperty(const 
std::string&amp;, const 
qpid::types::Variant&amp;);</td></tr><tr><td>.NET</td><td>public void 
SetProperty(string name, object value);</td></tr><tr><td align="center" 
colspan="2">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::Variant::Map&amp; 
getProperties();</td></tr><tr><td>.NET</td><td>public Dictionary&lt;string, 
object&gt; Properties { get; set; }</td></tr><tr><td align="center" 
colspan="2">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 
 >align="center" colspan="2">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; dict);</td></tr><tr><td 
 >align="center" colspan="2">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 align="center" 
 >colspan="2">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 a
 lign="center" colspan="2">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 
align="center" colspan="2">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>n/a</td></tr><tr><td 
align="center" colspan="2">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>n/a</td></tr><tr><td align
 ="center" colspan="2">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="section"><div class="titlepage"><div><div><h3 
class="title"><a id="idm140612067237616"></a>2.3.6.&#160;.NET Binding for the 
C++ Messaging API Class: Receiver</h3></div></div></div><div class="table"><a 
id="table-Dotnet-Binding-Receiver"></a><p 
class="title"><strong>Table&#160;2.14.&#160;.NET Binding for the C++ Messaging 
API Class: Receiver</strong></p><div class="table-contents"><table border="1" 
class="table" summary=".NET Binding for the C++ Messaging API Class: 
Receiver"><colgroup><col class="c1" /><col class="c2" 
/></colgroup><thead><tr><th align="center" colspan="2">.NET Binding C
 lass: 
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 align="center" 
colspan="2">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is 
returned by Session.CreateReceiver</td></tr><tr><td align="center" 
colspan="2">Copy constructor</td></tr><tr><td>C++</td><td>Receiver(const 
Receiver&amp;);</td></tr><tr><td>.NET</td><td>public Receiver(Receiver 
receiver);</td></tr><tr><td align="center" 
colspan="2">Destructor</td></tr><tr><td>C++</td><td>~Receiver();</td></tr><tr><td>.NET</td><td>~Receiver();</td></tr><tr><td
 align="center" 
colspan="2">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Receiver()</td></tr><tr><td
 align="center" colspan="2">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 align="center" colspan="2">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 align="center" 
 >colspan="2">Method: Get</td></tr><tr><td>C++</td><td>Message get(Duration 
 >timeout=Duration::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 align="center" colspan="2">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 align="center" 
 >colspan="2">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 align="center" 
colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 
align="center" colspan="2">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 align="center" 
colspan="2">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 align="center" colspan="2">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="section"><div class="titlepage"><div><div><h3 class="title"><a 
id="idm140612067162192"></a>2.3.7.&#160;.NET Binding for the C++ Messaging API 
Class: Sender</h3></div></div></div><div class="table"><a 
id="table-Dotnet-Binding-Sender"></a><p 
class="title"><strong>Table&#160;2.15.&#160;.NET Binding for the C++ Messaging 
API Class: Sender</strong></p><div class="table-contents"><table border="1" 
class="table" summary=".NET Binding for the C++ Messaging API Class: 
Sender"><colgroup><col class="c1" /><col class=
 "c2" /></colgroup><thead><tr><th align="center" colspan="2">.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 
align="center" 
colspan="2">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is 
returned by Session.CreateSender</td></tr><tr><td align="center" 
colspan="2">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 align="center" 
colspan="2">Destructor</td></tr><tr><td>C++</td><td>~Sender();</td></tr><tr><td>.NET</td><td>~Sender();</td></tr><tr><td
 align="center" 
colspan="2">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Sender()</td></tr><tr><td
 align="center" colspan="2">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 align="center" 
colspan="2">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 align="center" 
colspan="2">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 
align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 
align="center" colspan="2">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 align="center" colspan="2">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="section"><div class="titlepage"><div><div><h3 class="title"><a 
id="idm140612067105680"></a>2.3.8.&#160;.NET Binding for the C++ Messaging API 
Class: Session</h3></div></div></div><div class="table"><a 
id="table-Dotnet-Binding-Session"></a><p 
class="title"><strong>Table&#160;2.16.&#160;.NET Binding for the C++ Messaging 
API Class: Session</strong></p><div class="table-contents"><table border="1" 
class="table" summary=".NET Binding for the C++ Messaging API Class: 
Session"><colgroup><co
 l class="c1" /><col class="c2" /></colgroup><thead><tr><th align="center" 
colspan="2">.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 align="center" 
colspan="2">Constructor</td></tr><tr><td>.NET</td><td>Constructed object is 
returned by Connection.CreateSession</td></tr><tr><td align="center" 
colspan="2">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 align="center" 
colspan="2">Destructor</td></tr><tr><td>C++</td><td>~Session();</td></tr><tr><td>.NET</td><td>~Session();</td></tr><tr><td
 align="center" 
colspan="2">Finalizer</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>!Session()</td></tr><tr><td
 align="center" colspan="2">Copy assignment 
operator</td></tr><tr><td>C++</td><td>Session&amp; operator=(const Session&a
 mp;);</td></tr><tr><td>.NET</td><td>public Session op_Assign(Session 
rhs);</td></tr><tr><td align="center" colspan="2">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 
align="center" colspan="2">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 
align="center" colspan="2">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 align="center" colspan="2">Method: 
Acknowledge</td></tr><tr><td>C++</td><td>void acknowledge(bool 
sync=false);</td></tr><tr><td>C++</td><td>void acknowledge(Message&amp;, 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>.NET</td><td>public void Acknowledge(Message 
__p1);</td></tr><tr><td>.NET</td><td>public void Acknowledge(Me
 ssage __p1, bool __p2);</td></tr><tr><td align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">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 align="center" colspan="2">Property: 
Receivable</td></tr><tr><td>C++</td><td>uint32_t 
getReceivable();</td></tr><tr><td>.NET</td><td>public uint Receivable { get; 
}</td></tr><tr><td align="center" colspan="2">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
  align="center" colspan="2">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 align="center" 
colspan="2">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 align="center" 
colspan="2">Method: CreateSender</td></tr><tr><td>C++</td><td>Sender 
createSender(const Address&amp; address);</td></tr><tr><td>.NET</td><td>public 
Sender CreateSender(Address address);</td></tr><tr><td align="center" 
colspan="2">Method: CreateSender</td></tr><tr><td>C++</td><td>Sender 
createSender(const std::string&amp; address);</td></tr><tr><td>.NET</td><td>p
 ublic Sender CreateSender(string address);</td></tr><tr><td align="center" 
colspan="2">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 align="center" colspan="2">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 align="center" 
colspan="2">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(string 
name);</td></tr><tr><td align="center" colspan="2">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 align="center" colspan="2">Property: 
Connect
 ion</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 align="center" colspan="2">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 align="center" colspan="2">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="section"><div class="titlepage"><div><div><h3 
class="title"><a id="idm140612066993296"></a>2.3.9.&#160;.NET Binding Class: 
SessionReceiver</h3></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><div class="navfooter"><hr /><table summary="Navigation 
footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" 
href="ch02s02.html">Prev</a>&#160;</td><td align="center" width="20%"><a 
accesskey="u" href="ch02.html">Up</a></td><td align="right" 
width="40%">&#160;</td></tr><tr><td align="left" valign="top" 
width="40%">2.2.&#160;.NET Binding for the C++ Messaging Client 
Examples&#160;</td><td align="center" width="20%"><a accesskey="h" 
href="index.html">Home</a></td><td align="right" valign="top" 
width="40%">&#160;</td></tr></table></div></div>
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to