You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2012/08/12 21:03:53 UTC

svn commit: r1372179 [16/18] - in /qpid/site/docs/books/0.18: ./ AMQP-Messaging-Broker-CPP-Book/ AMQP-Messaging-Broker-CPP-Book/html/ AMQP-Messaging-Broker-CPP-Book/html/css/ AMQP-Messaging-Broker-CPP-Book/html/images/ AMQP-Messaging-Broker-CPP-Book/pd...

Added: qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/ch05s03.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/ch05s03.html?rev=1372179&view=auto
==============================================================================
--- qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/ch05s03.html (added)
+++ qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/ch05s03.html Sun Aug 12 19:03:49 2012
@@ -0,0 +1,39 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>5.3. .NET Binding Class Mapping to Underlying C++ Messaging API</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" 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 for the C++ Messaging Client Examples"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/d
 ownload.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lis
 ts</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http:
 //www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">Programming in Apache Qpid</a></span> &gt; <span class="breadcrumb-link"><a href="ch05.html">The .NET Binding for the C++ Messaging Client</a></span> &gt; <span class="breadcrumb-node">.NET Binding Class Mapping to Underlying C++ Messaging API</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2557458"></a>5.3. .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" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2557469"></a>5.3.1. .NET Binding for the C++ Messaging API Class: Address</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Address"></a><p class="title"><b>Table 5.9. .NET Binding for the C++ Messaging API Class: Address</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API 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><td>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 class="section" lang="en"><div class="title
 page"><div><div><h3 class="title"><a name="id2558080"></a>5.3.2. .NET Binding for the C++ Messaging API Class: Connection</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Connection"></a><p class="title"><b>Table 5.10. .NET Binding for the C++ Messaging API Class: Connection</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API 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>Conne
 ction();</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(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 colspan="2" align="center">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 colspan="2" align="center">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; }</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: 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="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2558730"></a>5.3.3. .NET Binding for the C++ Messaging API Class: Duration</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Duration"></a><p class="title"><b>Table 5.11. .NET Binding for the C++ Messaging API Class: Duration</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API 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 colspa
 n="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 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 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 *(Dur
 ation 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</t
 d><td>public static Duration SECOND;</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2559158"></a>5.3.4. .NET Binding for the C++ Messaging API Class: FailoverUpdates</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-FailoverUpdates"></a><p class="title"><b>Table 5.12. .NET Binding for the C++ Messaging API Class: FailoverUpdates</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API Class: FailoverUpdates" border="1"><colgroup><col><col></colgroup><thead><tr><th colspan="2" align="center">.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 FailoverUpdates</td></tr><tr><td colspan="2" align="center">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 colspan="2" align="center">Destructor</td></tr><tr><td>C++</td><td>~FailoverUpdates();</td></tr><tr><td>.NET</td><td>~FailoverUpdates();</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>!FailoverUpdates();</td></tr></tbody></table></div></div><br class="table-break"></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2559341"></a>5.3.5. .NET Binding for the C++ Messaging API Class: Message</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Message"></a><p class="title"><b>Table 5.13. .NET Binding for the C++ Messaging API Class: Message</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API 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);</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 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></t
 r><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: C
 ontentType</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; getMessageId() 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><t
 d>.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>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 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::Variant::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; dict);</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 : qpi
 d::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>n/a</td></tr><tr><td colspan="2" align="center">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 colspan="2" align="center">Method: AsString</td></tr><tr><td>C++</td><td>n/a</td></tr><tr><td>.NET</td><td>p
 ublic 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" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2560544"></a>5.3.6. .NET Binding for the C++ Messaging API Class: Receiver</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Receiver"></a><p class="title"><b>Table 5.14. .NET Binding for the C++ Messaging API Class: Receiver</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API 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>pub
 lic 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>Receiver(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=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 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 col
 span="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">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><t
 d>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="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2561194"></a>5.3.7. .NET Binding for the C++ Messaging API Class: Sender</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Sender"></a><p class="title"><b>Table 5.15. .NET Binding for the C++ Messaging API Class: Sender</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API 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 sy
 nc=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="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2561677"></a>5.3.8. .NET Binding for the C++ Messaging API Class: Session</h3></div></div></div><div class="table"><a name="table-Dotnet-Binding-Session"></a><p class="title"><b>Table 5.16. .NET Binding for the C++ Messaging API Class: Session</b></p><div class="table-contents"><table summary=".NET Binding for the C++ Messaging API 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>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(Message __p1, bool __p2);</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 R
 eject(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 getReceivable();</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 createSender(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(con
 st 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(string 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 colspa
 n="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="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2562646"></a>5.3.9. .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><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"> </td></tr><tr><td width="40%" align="left" valign="top">5.2. .NET Binding for the C++ Messaging Client Examples </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><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/connection-options.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/connection-options.html?rev=1372179&view=auto
==============================================================================
--- qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/connection-options.html (added)
+++ qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/connection-options.html Sun Aug 12 19:03:49 2012
@@ -0,0 +1,120 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>2.10. Connection Options</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" 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="ch02s09.html" title="2.9. Transactions"><link rel="next" href="section-Maps.html" title="2.11. Maps and Lists in Message Content"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/do
 wnload.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing List
 s</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http:/
 /www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">Programming in Apache Qpid</a></span> &gt; <span class="breadcrumb-link"><a href="ch02.html">Using the Qpid Messaging API</a></span> &gt; <span class="breadcrumb-node">Connection Options</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="connection-options"></a>2.10. Connection Options</h2></div></div></div><p>
+        Aspects of the connections behaviour can be controlled through
+        specifying connection options. For example, connections can be
+        configured to automatically reconnect if the connection to a
+        broker is lost.
+      </p><div class="example"><a name="id2509326"></a><p class="title"><b>Example 2.14. Specifying Connection Options in C++, Python, and .NET</b></p><div class="example-contents"><p>In C++, these options can be set using <code class="function">Connection::setOption()</code> or by passing in a set of options to the constructor. The options can be passed in as a map or in string form:</p><pre class="programlisting">
+	Connection connection("localhost:5672", "{reconnect: true}");
+	try {
+	connection.open();
+	!!! SNIP !!!
+	</pre><p>or</p><pre class="programlisting">
+	Connection connection("localhost:5672");
+	connection.setOption("reconnect", true);
+	try {
+	connection.open();
+	!!! SNIP !!!
+	</pre><p>In Python, these options can be set as attributes of the connection or using named arguments in
+	the <code class="function">Connection</code> constructor:</p><pre class="programlisting">
+	connection = Connection("localhost:5672", reconnect=True)
+	try:
+	connection.open()
+	!!! SNIP !!!
+	</pre><p>or</p><pre class="programlisting">
+	connection = Connection("localhost:5672")
+	connection.reconnect = True
+	try:
+	connection.open()
+	!!! SNIP !!!
+	</pre><p>
+	  In .NET, these options can be set using <code class="function">Connection.SetOption()</code> or by passing in a set of options to the constructor. The options can be passed in as a map or in string form:
+	</p><pre class="programlisting">
+	  Connection connection= new Connection("localhost:5672", "{reconnect: true}");
+	  try {
+	  connection.Open();
+	  !!! SNIP !!!
+	</pre><p>
+	  or
+	</p><pre class="programlisting">
+	  Connection connection = new Connection("localhost:5672");
+	  connection.SetOption("reconnect", true);
+	  try {
+	  connection.Open();
+	  !!! SNIP !!!
+	</pre><p>See the reference documentation for details in each language.</p></div></div><br class="example-break"><p>The following table lists the supported connection options.</p><div class="table"><a name="id2509437"></a><p class="title"><b>Table 2.4. Connection Options</b></p><div class="table-contents"><table summary="Connection Options" width="100%" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>option name</th><th>value type</th><th>semantics</th></tr></thead><tbody><tr><td>
+		<code class="literal">username</code>
+	      </td><td>
+		string
+	      </td><td>
+		The username to use when authenticating to the broker.
+	      </td></tr><tr><td>
+		<code class="literal">password</code>
+	      </td><td>
+		string
+	      </td><td>
+		The password to use when authenticating to the broker.
+	      </td></tr><tr><td>
+		<code class="literal">sasl_mechanisms</code>
+	      </td><td>
+		string
+	      </td><td>
+		The specific SASL mechanisms to use with the python
+		client when authenticating to the broker. The value
+		is a space separated list.
+	      </td></tr><tr><td>
+		<code class="literal">reconnect</code>
+	      </td><td>
+		boolean
+	      </td><td>
+		Transparently reconnect if the connection is lost.
+	      </td></tr><tr><td>
+		<code class="literal">reconnect_timeout</code>
+	      </td><td>
+		integer
+	      </td><td>
+		Total number of seconds to continue reconnection attempts before giving up and raising an exception.
+	      </td></tr><tr><td>
+		<code class="literal">reconnect_limit</code>
+	      </td><td>
+		integer
+	      </td><td>
+		Maximum number of reconnection attempts before giving up and raising an exception.
+	      </td></tr><tr><td>
+		<code class="literal">reconnect_interval_min</code>
+	      </td><td>
+		integer representing time in seconds
+	      </td><td>
+		Minimum number of seconds between reconnection attempts. The first reconnection attempt is made immediately; if that fails, the first reconnection delay is set to the value of <code class="literal">reconnect_interval_min</code>; if that attempt fails, the reconnect interval increases exponentially until a reconnection attempt succeeds or <code class="literal">reconnect_interval_max</code> is reached.
+	      </td></tr><tr><td>
+		<code class="literal">reconnect_interval_max</code>
+	      </td><td>
+		integer representing time in seconds
+	      </td><td>
+		Maximum reconnect interval.
+	      </td></tr><tr><td>
+		<code class="literal">reconnect_interval</code>
+	      </td><td>
+		integer representing time in seconds
+	      </td><td>
+		Sets both <code class="literal">reconnection_interval_min</code> and <code class="literal">reconnection_interval_max</code> to the same value.
+	      </td></tr><tr><td>
+		<code class="literal">heartbeat</code>
+	      </td><td>
+		integer representing time in seconds
+	      </td><td>
+		Requests that heartbeats be sent every N seconds. If two
+		successive heartbeats are missed the connection is
+		considered to be lost.
+	      </td></tr><tr><td>
+		<code class="literal">protocol</code>
+	      </td><td>
+		string
+	      </td><td>
+		Sets the underlying protocol used. The default option is 'tcp'. To enable ssl, set to 'ssl'. The C++ client additionally supports 'rdma'.
+	      </td></tr><tr><td>
+		<code class="literal">tcp-nodelay</code>
+	      </td><td>
+		boolean
+	      </td><td>
+		Set tcp no-delay, i.e. disable Nagle algorithm. [C++ only]
+	      </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="ch02s09.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="section-Maps.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Transactions </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.11. Maps and Lists in Message Content</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/css/style.css
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/css/style.css?rev=1372179&view=auto
==============================================================================
--- qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/css/style.css (added)
+++ qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/css/style.css Sun Aug 12 19:03:49 2012
@@ -0,0 +1,279 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+ul {
+    list-style-type:square;
+}
+
+th { 
+    font-weight: bold;
+}
+
+.navfooter td { 
+    font-size:10pt;
+}
+
+.navheader td { 
+    font-size:10pt;
+}
+
+body {
+    margin:0;
+    background:#FFFFFF;
+    font-family:"Verdana", sans-serif;
+    font-size:10pt;
+}
+
+.container {
+    width:950px;
+    margin:0 auto;
+}
+
+body a {
+    color:#000000;
+}
+
+
+div.book {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.preface {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.chapter {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.section {
+    margin-left:10pt;
+    margin-right:10pt;
+}
+
+div.titlepage {
+    margin-left:-10pt;
+    margin-right:-10pt;
+}
+
+.calloutlist td {
+    font-size:10pt;
+}
+
+.table-contents table {
+    border-spacing: 0px;
+}
+
+.table-contents td {
+    font-size:10pt;
+    padding-left:6px;
+    padding-right:6px;
+}
+
+div.breadcrumbs {
+    font-size:9pt;
+    margin-right:10pt;
+    padding-bottom:16px;
+}
+
+.chapter h2.title {
+    font-size:20pt;
+    color:#0c3b82;
+}
+
+.chapter .section h2.title {
+    font-size:18pt;
+    color:#0c3b82;
+}
+
+.section h2.title {
+    font-size:16pt;
+    color:#0c3b82;
+}
+
+.section h3.title {
+    font-size:14pt;
+    color:#0c3b82;
+}
+
+.section h4.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.section h5.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.section h6.title {
+    font-size:12pt;
+    color:#0c3b82;
+}
+
+.toc a {
+    font-size:9pt;
+}
+
+.header {
+    height:100px;
+    width:950px;
+    background:url(http://qpid.apache.org/images/header.png)
+}
+
+.logo {
+    text-align:center;
+    font-weight:600;
+    padding:0 0 0 0;
+    font-size:14px;
+    font-family:"Verdana", cursive;
+}
+
+.logo a {
+    color:#000000;
+    text-decoration:none;
+}
+
+.main_text_area {
+    margin-left:200px;
+}
+
+.main_text_area_top {
+    height:14px;
+    font-size:1px;
+}
+
+.main_text_area_bottom {
+    display:none;
+/*  height:14px;
+    margin-bottom:4px;*/
+}
+
+.main_text_area_body {
+    padding:5px 24px;
+}
+
+.main_text_area_body p {
+    text-align:justify;
+}
+
+.main_text_area br {
+    line-height:10px;
+}
+
+.main_text_area h1 {
+    font-size:28px;
+    font-weight:600;
+    margin:0 0 24px 0;
+    color:#0c3b82;
+    font-family:"Verdana", Times, serif;
+}
+
+.main_text_area h2 {
+    font-size:24px;
+    font-weight:600;
+    margin:24px 0 8px 0;
+    color:#0c3b82;
+    font-family:"Verdana",Times, serif;
+}
+
+.main_text_area ol, .main_text_area ul {
+    padding:0;
+    margin:10px 0;
+    margin-left:20px;
+}
+
+.main_text_area li {
+/*    margin-left:40px; */
+}
+
+.main_text_area, .menu_box {
+    font-size:13px;
+    line-height:17px;
+    color:#000000;
+}
+
+.main_text_area {
+    font-size:14px;
+}
+
+.main_text_area a {
+    color:#000000;
+}
+
+.main_text_area a:hover {
+    color:#000000;
+}
+
+.menu_box {
+    width:196px;
+    float:left;
+    margin-left:4px;
+}
+
+.menu_box_top {
+    background:url(http://qpid.apache.org/images/menu_top.png) no-repeat; 
+    height:14px;
+    font-size:1px;
+}
+
+.menu_box_body {
+    background:url(http://qpid.apache.org/images/menu_body.png) repeat-y; 
+    padding:5px 24px 5px 24px;
+}
+
+.menu_box_bottom {
+    background:url(http://qpid.apache.org/images/menu_bottom.png) no-repeat; 
+    height:14px;
+    font-size:1px;
+    margin-bottom:1px;
+}
+
+.menu_box h3 {
+    font-size:20px;
+    font-weight:500;
+    margin:0 0 8px 0;
+    color:#0c3b82;
+    font-family:"Verdana",Times, serif;
+}
+
+.menu_box ul {
+    margin:12px;
+    padding:0px;
+}
+
+.menu_box li {
+    list-style:square; 
+}
+
+.menu_box a {
+    color:#000000;
+    text-decoration:none;
+}
+
+.menu_box a:hover {
+    color:#000000;
+    text-decoration:underline;
+}
+
+

Added: qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/index.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/index.html?rev=1372179&view=auto
==============================================================================
--- qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/index.html (added)
+++ qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/index.html Sun Aug 12 19:03:49 2012
@@ -0,0 +1 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Programming in Apache Qpid</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="Programming in Apache Qpid"><link rel="next" href="ch01.html" title="Chapter 1. Introduction"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI>
 <LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.
 apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/
 security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-node">Programming in Apache Qpid</span></DIV><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="client-api-tutorial"></a>Programming in Apache Qpid</h1></div><div><h2 class="subtitle">Cross-Platform AMQP Messaging in Java JMS, .NET, C++, and Python</h2></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Introduction</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Using the Qpid Messaging API</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2546818">2.1. A Simple Messaging Program in C++</a></span></dt><dt><span class="section"><a href="ch02s02.html">2.2. A Simple Messaging Program in Python</a></span></dt><dt
 ><span class="section"><a href="ch02s03.html">2.3. A Simple Messaging Program in .NET C#</a></span></dt><dt><span class="section"><a href="section-addresses.html">2.4. Addresses</a></span></dt><dd><dl><dt><span class="section"><a href="section-addresses.html#id2549920">2.4.1. Address Strings</a></span></dt><dt><span class="section"><a href="section-addresses.html#id2539066">2.4.2. Subjects</a></span></dt><dt><span class="section"><a href="section-addresses.html#id2548214">2.4.3. Address String Options</a></span></dt><dt><span class="section"><a href="section-addresses.html#section-address-string-bnf">2.4.4. Address String Grammar</a></span></dt></dl></dd><dt><span class="section"><a href="replay.html">2.5. Sender Capacity and Replay</a></span></dt><dt><span class="section"><a href="prefetch.html">2.6. Receiver Capacity (Prefetch)</a></span></dt><dt><span class="section"><a href="acknowledgements.html">2.7. Acknowledging Received Messages</a></span></dt><dt><span class="secti
 on"><a href="ch02s08.html">2.8. Receiving Messages from Multiple Sources</a></span></dt><dt><span class="section"><a href="ch02s09.html">2.9. Transactions</a></span></dt><dt><span class="section"><a href="connection-options.html">2.10. Connection Options</a></span></dt><dt><span class="section"><a href="section-Maps.html">2.11. Maps and Lists in Message Content</a></span></dt><dd><dl><dt><span class="section"><a href="section-Maps.html#section-Python-Maps">2.11.1. Qpid Maps and Lists in Python</a></span></dt><dt><span class="section"><a href="section-Maps.html#section-cpp-Maps">2.11.2. Qpid Maps and Lists in C++</a></span></dt><dt><span class="section"><a href="section-Maps.html#section-dotnet-Maps">2.11.3. Qpid Maps and Lists in .NET</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s12.html">2.12. The Request / Response Pattern</a></span></dt><dt><span class="section"><a href="ch02s13.html">2.13. Performance Tips</a></span></dt><dt><span class="section"><a hr
 ef="ch02s14.html">2.14. Cluster Failover</a></span></dt><dt><span class="section"><a href="ch02s15.html">2.15. Logging</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s15.html#id2552651">2.15.1. Logging in C++</a></span></dt><dt><span class="section"><a href="ch02s15.html#id2552699">2.15.2. Logging in Python</a></span></dt></dl></dd><dt><span class="section"><a href="section-amqp0-10-mapping.html">2.16. The AMQP 0-10 mapping</a></span></dt><dd><dl><dt><span class="section"><a href="section-amqp0-10-mapping.html#section-amqp0-10-message-props">2.16.1. 0-10 Message Property Keys</a></span></dt></dl></dd><dt><span class="section"><a href="Message-Groups-Guide.html">2.17. Using Message Groups</a></span></dt><dd><dl><dt><span class="section"><a href="Message-Groups-Guide.html#messagegroups-setup">2.17.1. Creating Message Group Queues</a></span></dt><dt><span class="section"><a href="Message-Groups-Guide.html#messagegroups-sending">2.17.2. Sending Grouped Messages</a
 ></span></dt><dt><span class="section"><a href="Message-Groups-Guide.html#messagegroups-receiving">2.17.3. Receiving Grouped Messages</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="QpidJMS.html">3. Using the Qpid JMS client</a></span></dt><dd><dl><dt><span class="section"><a href="QpidJMS.html#id2553400">3.1. A Simple Messaging Program in Java JMS</a></span></dt><dt><span class="section"><a href="QpidJNDI.html">3.2. Apache Qpid JNDI Properties for AMQP Messaging</a></span></dt><dd><dl><dt><span class="section"><a href="QpidJNDI.html#id2553812">3.2.1. JNDI Properties for Apache Qpid</a></span></dt><dt><span class="section"><a href="QpidJNDI.html#section-jms-connection-url">3.2.2. Connection URLs</a></span></dt></dl></dd><dt><span class="section"><a href="ch03s03.html">3.3. Java JMS Message Properties</a></span></dt><dt><span class="section"><a href="section-JMS-MapMessage.html">3.4. JMS MapMessage Types</a></span></dt><dt><span class="section"><a href="
 section-JMS-Logging.html">3.5. JMS Client Logging</a></span></dt><dt><span class="section"><a href="ch03s06.html">3.6. Configuring the JMS Client</a></span></dt><dd><dl><dt><span class="section"><a href="ch03s06.html#client-jvm-properties">3.6.1. Qpid JVM Arguments</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="QpidWCF.html">4. Using the Qpid WCF client</a></span></dt><dd><dl><dt><span class="section"><a href="QpidWCF.html#id2556348">4.1. XML and Binary Bindings</a></span></dt><dt><span class="section"><a href="ch04s02.html">4.2. Endpoints</a></span></dt><dt><span class="section"><a href="ch04s03.html">4.3. Message Headers</a></span></dt><dt><span class="section"><a href="ch04s04.html">4.4. Security</a></span></dt><dt><span class="section"><a href="ch04s05.html">4.5. Transactions</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. The .NET Binding for the C++ Messaging Client</a></span></dt><dd><dl><dt><span class="section"><a hre
 f="ch05.html#id2556882">5.1. .NET Binding for the C++ Messaging Client Component Architecture</a></span></dt><dt><span class="section"><a href="ch05s02.html">5.2. .NET Binding for the C++ Messaging Client Examples</a></span></dt><dt><span class="section"><a href="ch05s03.html">5.3. .NET Binding Class Mapping to Underlying C++ Messaging API</a></span></dt><dd><dl><dt><span class="section"><a href="ch05s03.html#id2557469">5.3.1. .NET Binding for the C++ Messaging API Class: Address</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2558080">5.3.2. .NET Binding for the C++ Messaging API Class: Connection</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2558730">5.3.3. .NET Binding for the C++ Messaging API Class: Duration</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2559158">5.3.4. .NET Binding for the C++ Messaging API Class: FailoverUpdates</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2559341">5.3.5. .NET B
 inding for the C++ Messaging API Class: Message</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2560544">5.3.6. .NET Binding for the C++ Messaging API Class: Receiver</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2561194">5.3.7. .NET Binding for the C++ Messaging API Class: Sender</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2561677">5.3.8. .NET Binding for the C++ Messaging API Class: Session</a></span></dt><dt><span class="section"><a href="ch05s03.html#id2562646">5.3.9. .NET Binding Class: SessionReceiver</a></span></dt></dl></dd></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>2.1. <a href="section-addresses.html#id2548756">Address String Options</a></dt><dt>2.2. <a href="section-addresses.html#table-node-properties">Node Properties</a></dt><dt>2.3. <a href="section-addresses.html#table-link-properties">Link Properties</a></dt><dt>2.4. <a href="connection-options.html#id2509437">C
 onnection Options</a></dt><dt>2.5. <a href="section-Maps.html#tabl-Programming_in_Apache_Qpid-Qpid_Maps_in_Message_Content">Map and List Representation in Supported Languages</a></dt><dt>2.6. <a href="section-Maps.html#table-Python-Maps">Python Datatypes in Maps</a></dt><dt>2.7. <a href="section-Maps.html#table-cpp-Maps">C++ Datatypes in Maps</a></dt><dt>2.8. <a href="section-Maps.html#table-dotnet-Maps">Datatype Mapping between C++ and .NET binding</a></dt><dt>2.9. <a href="section-amqp0-10-mapping.html#table-amqp0-10-message-properties">Mapping to AMQP 0-10 Message Properties</a></dt><dt>3.1. <a href="QpidJNDI.html#id2553822">JNDI Properties supported by Apache Qpid</a></dt><dt>3.2. <a href="QpidJNDI.html#id2553964">Connection URL Properties</a></dt><dt>3.3. <a href="QpidJNDI.html#id2554263">Broker List Options</a></dt><dt>3.4. <a href="ch03s03.html#id2554613">Java JMS Mapping to AMQP 0-10 Message Properties</a></dt><dt>3.5. <a href="section-JMS-MapMessage.html#table-Java-
 Maps">Java Datatypes in Maps</a></dt><dt>3.6. <a href="ch03s06.html#id2555128">Config Options For Connection Behaviour</a></dt><dt>3.7. <a href="ch03s06.html#id2555236">Config Options For Session Behaviour</a></dt><dt>3.8. <a href="ch03s06.html#id2555352">Config Options For Consumer Behaviour</a></dt><dt>3.9. <a href="ch03s06.html#id2555492">Config Options For Producer Behaviour</a></dt><dt>3.10. <a href="ch03s06.html#id2555554">Config Options For Threading</a></dt><dt>3.11. <a href="ch03s06.html#id2555634">Config Options For I/O</a></dt><dt>3.12. <a href="ch03s06.html#id2555842">Config Options For Security</a></dt><dt>3.13. <a href="ch03s06.html#id2555973">Config Options For Security - Standard JVM properties needed when using GSSAPI as the SASL mechanism.</a></dt><dt>3.14. <a href="ch03s06.html#id2556067">Config Options For Security - Using SSL for securing connections or using EXTERNAL as the SASL mechanism.</a></dt><dt>3.15. <a href="ch03s06.html#id2556190">Config Option
 s For Security - Standard JVM properties needed when Using SSL for securing connections or using EXTERNAL as the SASL mechanism.</a></dt><dt>4.1. <a href="QpidWCF.html#id2556428">WCF Binding Parameters</a></dt><dt>5.1. <a href="ch05.html#table-Dotnet-Binding-Component-Architecture">.NET Binding for the C++ Messaging Client Component Architecture</a></dt><dt>5.2. <a href="ch05s02.html#table-Dotnet-Binding-Example-Client-Server">Example : Client - Server</a></dt><dt>5.3. <a href="ch05s02.html#table-Dotnet-Binding-Example-MapSender-MapReceiver">Example : Map Sender – Map Receiver</a></dt><dt>5.4. <a href="ch05s02.html#table-Dotnet-Binding-Example-Spout-Drain">Example : Spout - Drain</a></dt><dt>5.5. <a href="ch05s02.html#table-Dotnet-Binding-Example-CallbackSender-CallbackReceiver">Example : Map Callback Sender – Map Callback Receiver</a></dt><dt>5.6. <a href="ch05s02.html#table-Dotnet-Binding-Example-DeclareQueues">Example - Declare Queues</a></dt><dt>5.7. <a href="c
 h05s02.html#table-Dotnet-Binding-Example-DirectSender-DirectReceiver">Example: Direct Sender - Direct Receiver</a></dt><dt>5.8. <a href="ch05s02.html#table-Dotnet-Binding-Example-Helloworld">Example: Hello World</a></dt><dt>5.9. <a href="ch05s03.html#table-Dotnet-Binding-Address">.NET Binding for the C++ Messaging API Class: Address</a></dt><dt>5.10. <a href="ch05s03.html#table-Dotnet-Binding-Connection">.NET Binding for the C++ Messaging API Class: Connection</a></dt><dt>5.11. <a href="ch05s03.html#table-Dotnet-Binding-Duration">.NET Binding for the C++ Messaging API Class: Duration</a></dt><dt>5.12. <a href="ch05s03.html#table-Dotnet-Binding-FailoverUpdates">.NET Binding for the C++ Messaging API Class: FailoverUpdates</a></dt><dt>5.13. <a href="ch05s03.html#table-Dotnet-Binding-Message">.NET Binding for the C++ Messaging API Class: Message</a></dt><dt>5.14. <a href="ch05s03.html#table-Dotnet-Binding-Receiver">.NET Binding for the C++ Messaging API Class: Receiver</a></dt>
 <dt>5.15. <a href="ch05s03.html#table-Dotnet-Binding-Sender">.NET Binding for the C++ Messaging API Class: Sender</a></dt><dt>5.16. <a href="ch05s03.html#table-Dotnet-Binding-Session">.NET Binding for the C++ Messaging API Class: Session</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>2.1. <a href="ch02.html#id2547788">"Hello world!" in C++</a></dt><dt>2.2. <a href="ch02s02.html#id2519535">"Hello world!" in Python</a></dt><dt>2.3. <a href="ch02s03.html#id2538554">"Hello world!" in .NET C#</a></dt><dt>2.4. <a href="section-addresses.html#id2541500">Queues</a></dt><dt>2.5. <a href="section-addresses.html#id2530091">Topics</a></dt><dt>2.6. <a href="section-addresses.html#id2523474">Using subjects</a></dt><dt>2.7. <a href="section-addresses.html#id2538470">Subjects with multi-word keys</a></dt><dt>2.8. <a href="section-addresses.html#id2519478">Assertions on Nodes</a></dt><dt>2.9. <a href="section-addresses.html#id2516194">Creating a Queue 
 Automatically</a></dt><dt>2.10. <a href="section-addresses.html#id2526549">Browsing a Queue</a></dt><dt>2.11. <a href="section-addresses.html#id2516347">Using the XML Exchange</a></dt><dt>2.12. <a href="ch02s08.html#id2509184">Receiving Messages from Multiple Sources</a></dt><dt>2.13. <a href="ch02s09.html#id2509274">Transactions</a></dt><dt>2.14. <a href="connection-options.html#id2509326">Specifying Connection Options in C++, Python, and .NET</a></dt><dt>2.15. <a href="section-Maps.html#id2551753">Sending Qpid Maps and Lists in Python</a></dt><dt>2.16. <a href="section-Maps.html#id2551917">Sending Qpid Maps and Lists in C++</a></dt><dt>2.17. <a href="section-Maps.html#id2552133">Sending Qpid Maps and Lists in .NET C#</a></dt><dt>2.18. <a href="ch02s12.html#id2552382">Request / Response Applications in C++</a></dt><dt>2.19. <a href="ch02s14.html#id2552583">Tracking cluster membership</a></dt><dt>2.20. <a href="section-amqp0-10-mapping.html#id2553330">Accessing the AMQP 0-10
  Message Timestamp in Python</a></dt><dt>2.21. <a href="section-amqp0-10-mapping.html#id2553353">Accessing the AMQP 0-10 Message Timestamp in C++</a></dt><dt>2.22. <a href="Message-Groups-Guide.html#id2515682">Message Group Queue Creation - Python</a></dt><dt>2.23. <a href="Message-Groups-Guide.html#id2532698">Message Group Queue Creation - C++</a></dt><dt>2.24. <a href="Message-Groups-Guide.html#id2492379">Message Group Queue Creation - Java</a></dt><dt>2.25. <a href="Message-Groups-Guide.html#id2508861">Sending Grouped Messages - Python</a></dt><dt>2.26. <a href="Message-Groups-Guide.html#id2508880">Sending Grouped Messages - C++</a></dt><dt>2.27. <a href="Message-Groups-Guide.html#id2508900">Sending Grouped Messages - Java</a></dt><dt>3.1. <a href="QpidJMS.html#id2553425">"Hello world!" in Java</a></dt><dt>3.2. <a href="QpidJMS.html#id2553690">JNDI Properties File for "Hello world!" example</a></dt><dt>3.3. <a href="QpidJNDI.html#id2553790">JNDI Properties File</a></dt><d
 t>3.4. <a href="QpidJNDI.html#id2554213">Broker Lists</a></dt><dt>3.5. <a href="section-JMS-MapMessage.html#id2554784">Sending a Java JMS MapMessage</a></dt><dt>3.6. <a href="section-JMS-Logging.html#id2555002">log4j Logging Properties</a></dt><dt>4.1. <a href="QpidWCF.html#id2556370">Traditional service model "Hello world!" example</a></dt><dt>4.2. <a href="QpidWCF.html#id2556392">Binary  "Hello world!" example using the channel model</a></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. Introduction</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/prefetch.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/prefetch.html?rev=1372179&view=auto
==============================================================================
--- qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/prefetch.html (added)
+++ qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/prefetch.html Sun Aug 12 19:03:49 2012
@@ -0,0 +1,9 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>2.6. Receiver Capacity (Prefetch)</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" 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="replay.html" title="2.5. Sender Capacity and Replay"><link rel="next" href="acknowledgements.html" title="2.7. Acknowledging Received Messages"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="ht
 tp://qpid.apache.org/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_l
 ists.html">Mailing Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</A><
 /LI><LI><A href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">Programming in Apache Qpid</a></span> &gt; <span class="breadcrumb-link"><a href="ch02.html">Using the Qpid Messaging API</a></span> &gt; <span class="breadcrumb-node">Receiver Capacity (Prefetch)</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="prefetch"></a>2.6. Receiver Capacity (Prefetch)</h2></div></div></div><p>By default, a receiver requests the next message from the
+      server in response to each fetch call, resulting in messages being
+      sent to the receiver one at a time. As in the case of sending, it
+      is often desirable to avoid this roundtrip for each message. This
+      can be achieved by allowing the receiver
+      to <em class="firstterm">prefetch</em> messages in anticipation of
+      fetch calls being made. The receiver needs to be able to store
+      these prefetched messages, the number it can hold is controlled by
+      the receivers capacity.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="replay.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="acknowledgements.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.5. Sender Capacity and Replay </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.7. Acknowledging Received Messages</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>

Added: qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/replay.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/replay.html?rev=1372179&view=auto
==============================================================================
--- qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/replay.html (added)
+++ qpid/site/docs/books/0.18/Programming-In-Apache-Qpid-Book/html/replay.html Sun Aug 12 19:03:49 2012
@@ -0,0 +1,25 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>2.5. Sender Capacity and Replay</title><link rel="stylesheet" href="css/style.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" 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="section-addresses.html" title="2.4. Addresses"><link rel="next" href="prefetch.html" title="2.6. Receiver Capacity (Prefetch)"></head><body><div class="container" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><DIV class="header"><DIV class="logo"><H1>Apache Qpid™</H1><H2>Open Source AMQP Messaging</H2></DIV></DIV><DIV class="menu_box"><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Apache Qpid</H3><UL><LI><A href="http://qpid.apache.org/index.html">Home</A></LI><LI><A href="http://qpid.apache.or
 g/download.html">Download</A></LI><LI><A href="http://qpid.apache.org/getting_started.html">Getting Started</A></LI><LI><A href="http://www.apache.org/licenses/">License</A></LI><LI><A href="https://cwiki.apache.org/qpid/faq.html">FAQ</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Documentation</H3><UL><LI><A href="http://qpid.apache.org/documentation.html#doc-release">0.14 Release</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-trunk">Trunk</A></LI><LI><A href="http://qpid.apache.org/documentation.html#doc-archives">Archive</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Community</H3><UL><LI><A href="http://qpid.apache.org/getting_involved.html">Getting Involved</A></LI><LI><A href="http://qpid.apache.org/source_repository.html">Source Repository</A></LI><LI><A href="http://qpid.apache.org/mailing_lists.html">Mailing 
 Lists</A></LI><LI><A href="https://cwiki.apache.org/qpid/">Wiki</A></LI><LI><A href="https://issues.apache.org/jira/browse/qpid">Issue Reporting</A></LI><LI><A href="http://qpid.apache.org/people.html">People</A></LI><LI><A href="http://qpid.apache.org/acknowledgements.html">Acknowledgements</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>Developers</H3><UL><LI><A href="https://cwiki.apache.org/qpid/building.html">Building Qpid</A></LI><LI><A href="https://cwiki.apache.org/qpid/developer-pages.html">Developer Pages</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About AMQP</H3><UL><LI><A href="http://qpid.apache.org/amqp.html">What is AMQP?</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV><DIV class="menu_box_top"></DIV><DIV class="menu_box_body"><H3>About Apache</H3><UL><LI><A href="http://www.apache.org">Home</A></LI><LI><A href="ht
 tp://www.apache.org/foundation/sponsorship.html">Sponsorship</A></LI><LI><A href="http://www.apache.org/foundation/thanks.html">Thanks</A></LI><LI><A href="http://www.apache.org/security/">Security</A></LI></UL></DIV><DIV class="menu_box_bottom"></DIV></DIV><div class="main_text_area"><div class="main_text_area_top"></div><div class="main_text_area_body"><DIV class="breadcrumbs"><span class="breadcrumb-link"><a href="index.html">Programming in Apache Qpid</a></span> &gt; <span class="breadcrumb-link"><a href="ch02.html">Using the Qpid Messaging API</a></span> &gt; <span class="breadcrumb-node">Sender Capacity and Replay</span></DIV><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="replay"></a>2.5. Sender Capacity and Replay</h2></div></div></div><p>The send method of a sender has an optional second parameter
+      that controls whether the send call is synchronous or not. A
+      synchronous send call will block until the broker has confirmed
+      receipt of the message. An asynchronous send call will return
+      before the broker confirms receipt of the message, allowing for
+      example further send calls to be made without waiting for a
+      roundtrip to the broker for each message. This is desirable where
+      increased throughput is important.</p><p>The sender maintains a list of sent messages whose receipt
+      has yet to be confirmed by the broker. The maximum number of such
+      messages that it will hold is defined by the capacity of the
+      sender, which can be set by the application. If an application
+      tries to send with a sender whose capacity is already fully used
+      up, the send call will block waiting for capacity regardless of
+      the value of the sync flag.</p><p>The sender can be queried for the available space (i.e. the
+      unused capacity), and for the current count of unsettled messages
+      (i.e. those held in the replay list pending confirmation by the
+      server). When the unsettled count is zero, all messages on that
+      sender have been successfully sent.</p><p>If the connection fails and is transparently reconnected
+      (see <a class="xref" href="connection-options.html" title="2.10. Connection Options">Section 2.10, “Connection Options”</a> for details on how to control
+      this feature), the unsettled messages for each sender over that
+      connection will be re-transmitted. This provides a transparent
+      level of reliability. This feature can be controlled through the
+      link's reliability as defined in the address (see
+      <a class="xref" href="section-addresses.html#table-link-properties" title="Table 2.3. Link Properties">Table 2.3, “Link Properties”</a>). At present only
+      at-least-once guarantees are offered. </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="section-addresses.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="prefetch.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.4. Addresses </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.6. Receiver Capacity (Prefetch)</td></tr></table></div><div class="main_text_area_bottom"></div></div></div></body></html>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org