You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jr...@apache.org on 2016/09/06 16:59:31 UTC

[08/51] [partial] qpid-site git commit: QPID-7353: Update for the Qpid C++ 1.35.0 release

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/cpp-broker/book/css/style.css
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/cpp-broker/book/css/style.css b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/css/style.css
new file mode 100644
index 0000000..c681596
--- /dev/null
+++ b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/css/style.css
@@ -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;
+}
+
+

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/cpp-broker/book/ha-queue-replication.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/cpp-broker/book/ha-queue-replication.html.in b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/ha-queue-replication.html.in
new file mode 100644
index 0000000..e362637
--- /dev/null
+++ b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/ha-queue-replication.html.in
@@ -0,0 +1,78 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">1.13.&#160;Replicating Queues with the HA module</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="chapter-ha.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;1.&#160;
+      Running the AMQP Messaging Broker
+    </th><td align="right" width="20%">&#160;<a accesskey="n" href="chapter-Managing-CPP-Broker.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="ha-queue-replication"></a>1.13.&#160;Replicating Queues with the HA module</h2></div></div></div><p>
+    As well as support for an active-passive cluster, the
+    HA module allows you to replicate individual queues,
+    even if the brokers are not in a cluster. The <em class="firstterm">original</em>
+    queue is used as normal.  The <em class="firstterm">replica</em> queue is
+    updated automatically as messages are added to or removed from the original
+    queue.
+  </p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>
+      It is not safe to modify the replica queue
+      other than via the automatic updates from the original. Adding or removing
+      messages on the replica queue will make replication inconsistent and may
+      cause message loss.
+      The HA module does <span class="emphasis"><em>not</em></span> enforce
+      restricted access to the replica queue (as it does in the case of a cluster)
+      so it is up to the application to ensure the replica is not used until it has
+      been disconnected from the original.
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="idm140173354836560"></a>1.13.1.&#160;Replicating queues</h3></div></div></div><p>
+      To create a replica queue, the HA module must be
+      loaded on both the original and replica brokers (it is loaded by default.)
+      You also need to set the configuration option:
+      </p><pre class="programlisting">
+	ha-queue-replication=yes
+      </pre><p>
+      to enable this feature on a stand-alone broker. It is automatically
+      enabled for brokers that are part of a cluster.
+    </p><p>
+      Suppose that <span class="command"><strong>myqueue</strong></span> is a queue on
+      <span class="command"><strong>node1</strong></span> and we want to create a replica of
+      <span class="command"><strong>myqueue</strong></span> on <span class="command"><strong>node2</strong></span> (where both brokers
+      are using the default AMQP port.) This is accomplished by the command:
+      </p><pre class="programlisting">
+	qpid-config --broker=node2 add queue --start-replica node1 myqueue
+      </pre><p>
+      If <span class="command"><strong>myqueue</strong></span> already exists on the replica
+      broker you can start replication from the original queue like this:
+      </p><pre class="programlisting">
+	qpid-ha replicate -b node2 node1 myqueue
+      </pre><p>
+    </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="idm140173356524352"></a>1.13.2.&#160;Replicating queues between clusters</h3></div></div></div><p>
+      You can replicate queues between two standalone brokers, between a
+      standalone broker and a cluster, or between two clusters (see <a class="xref" href="chapter-ha.html" title="1.12.&#160;Active-Passive Messaging Clusters">Section&#160;1.12, &#8220;Active-Passive Messaging Clusters&#8221;</a>.) For failover in a cluster there are two cases to
+      consider.
+    </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
+	  When the <span class="emphasis"><em>original</em></span> queue is on the active node
+	  of a cluster, failover is automatic. If the active node
+	  fails, the replication link will automatically reconnect and the
+	  replica will continue to be updated from the new primary.
+	</p></li><li class="listitem"><p>
+	  When the <span class="emphasis"><em>replica</em></span> queue is on the active node of a
+	  cluster, there is no automatic failover. However you can use the
+	  following workaround.
+	</p></li></ol></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="idm140173357353824"></a>1.13.2.1.&#160;Work around for fail-over of replica queue in a cluster</h4></div></div></div><p>
+	When a primary broker fails the cluster resource manager calls a script
+	to promote a backup broker to be the new primary. By default this script
+	is <code class="filename">/etc/init.d/qpidd-primary</code> but you can modify
+	that in your <code class="filename">cluster.conf</code> file (see <a class="xref" href="chapter-ha.html#ha-rm-config" title="1.12.5.&#160;Configuring with rgmanager as resource manager">Section&#160;1.12.5, &#8220;Configuring with <span class="command"><strong>rgmanager</strong></span> as resource manager&#8221;</a>.)
+      </p><p>
+	You can modify this script (on each host in your cluster) by adding
+	commands to create your replica queues just before the broker is
+	promoted, as indicated in the following exceprt from the script:
+	</p><pre class="programlisting">
+start() {
+    service qpidd start
+    echo -n $"Promoting qpid daemon to cluster primary: "
+    ################################
+    #### Add your commands here ####
+    ################################
+    $QPID_HA -b localhost:$QPID_PORT promote
+    [ "$?" -eq 0 ] &amp;&amp; success || failure
+}
+	</pre><p>
+	Your commands will be run, and your replicas created, whenever 
+	the system fails over to a new primary.
+      </p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="chapter-ha.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="ch01.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="chapter-Managing-CPP-Broker.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">1.12.&#160;Active-Passive Messaging Clusters&#160;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Chapter&#160;2.&#160;
+      Managing the AMQP Messaging Broker
+    </td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/cpp-broker/book/index.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/cpp-broker/book/index.html.in b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/index.html.in
new file mode 100644
index 0000000..f2ef9bf
--- /dev/null
+++ b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/index.html.in
@@ -0,0 +1,108 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">AMQP Messaging Broker (Implemented in C++)</th></tr><tr><td align="left" width="20%">&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="pr01.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="idm140173367409168"></a>AMQP Messaging Broker (Implemented in C++)</h1></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="preface"><a href="pr01.html">Introduction</a></span></dt><dt><span class="chapter"><a href="ch01.html">1. 
+      Running the AMQP Messaging Broker
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#section-Running-a-Qpid-CPP-Broker">1.1. 
+    Running a Qpid C++ Broker
+  </a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#RASC-BuildingtheCppBrokerandClientLibraries">1.1.1. 
+            Building the
+            C++ Broker and Client Libraries
+          </a></span></dt><dt><span class="section"><a href="ch01.html#RASC-RunningtheCppBroker">1.1.2. 
+            Running the C++ Broker
+          </a></span></dt><dt><span class="section"><a href="ch01.html#RASC-Mostcommonquestionsgettingqpiddrunning">1.1.3. 
+            Most
+            common questions getting qpidd running
+          </a></span></dt><dt><span class="section"><a href="ch01.html#RASC-Authentication">1.1.4. 
+            Authentication
+          </a></span></dt><dt><span class="section"><a href="ch01.html#RASC-Slightlymorecomplexconfiguration">1.1.5. 
+            Slightly more
+            complex configuration
+          </a></span></dt><dt><span class="section"><a href="ch01.html#RASC-Loadingextramodules">1.1.6. 
+            Loading extra modules
+          </a></span></dt><dt><span class="section"><a href="ch01.html#RASC-message-timestamps">1.1.7. Timestamping Received Messages</a></span></dt><dt><span class="section"><a href="ch01.html#RASC-logging-options">1.1.8. Logging Options</a></span></dt></dl></dd><dt><span class="section"><a href="ch01s02.html">1.2. 
+      Cheat Sheet for configuring Queue Options
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ch01s02.html#CheatSheetforconfiguringQueueOptions-ConfiguringQueueOptions">1.2.1. 
+            Configuring
+            Queue Options
+          </a></span></dt></dl></dd><dt><span class="section"><a href="ch01s03.html">1.3. 
+    Cheat Sheet for configuring Exchange Options
+  </a></span></dt><dd><dl><dt><span class="section"><a href="ch01s03.html#CheatSheetforconfiguringExchangeOptions-ConfiguringExchangeOptions">1.3.1. 
+      Configuring Exchange Options
+    </a></span></dt></dl></dd><dt><span class="section"><a href="chap-Messaging_User_Guide-Broker_Federation.html">1.4. Broker Federation</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Messaging_User_Guide-Broker_Federation.html#sect-Messaging_User_Guide-Broker_Federation-Message_Routes">1.4.1. Message Routes</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Broker_Federation.html#sect-Messaging_User_Guide-Broker_Federation-Federation_Topologies">1.4.2. Federation Topologies</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Broker_Federation.html#sect-Messaging_User_Guide-Broker_Federation-Federation_among_High_Availability_Message_Clusters">1.4.3. Federation among High Availability Message Clusters</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Broker_Federation.html#sect-Messaging_User_Guide-Broker_Federation-The_qpid_route_Utility">1.4.4. The qpid-route Utility</a></span></dt><dt><spa
 n class="section"><a href="chap-Messaging_User_Guide-Broker_Federation.html#federation-broker-options">1.4.5. Broker options affecting federation</a></span></dt></dl></dd><dt><span class="section"><a href="chap-Messaging_User_Guide-Security.html">1.5. Security</a></span></dt><dd><dl><dt><span class="section"><a href="chap-Messaging_User_Guide-Security.html#sect-Messaging_User_Guide-Security-User_Authentication">1.5.1. User Authentication</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Security.html#sect-Messaging_User_Guide-Security-Authorization">1.5.2. Authorization</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Security.html#sect-Messaging_User_Guide-Authorization-Specifying_ACL_Quotas">1.5.3. User Connection and Queue Quotas</a></span></dt><dt><span class="section"><a href="chap-Messaging_User_Guide-Security.html#sect-Messaging_User_Guide-Security-Encryption_using_SSL">1.5.4. Encryption using SSL</a></span></dt></dl></dd><
 dt><span class="section"><a href="ch01s06.html">1.6. LVQ - Last Value Queue</a></span></dt><dd><dl><dt><span class="section"><a href="ch01s06.html#LVQ-UnderstandingLVQ">1.6.1. Understanding LVQ</a></span></dt><dt><span class="section"><a href="ch01s06.html#LVQ-Creating">1.6.2. Creating a Last Value Queue</a></span></dt><dt><span class="section"><a href="ch01s06.html#LVQ-Example">1.6.3. LVQ Example</a></span></dt><dt><span class="section"><a href="ch01s06.html#LVQ-Deprecated">1.6.4. Deprecated LVQ Modes</a></span></dt></dl></dd><dt><span class="section"><a href="queue-state-replication.html">1.7. 
+    Queue State Replication
+  </a></span></dt><dd><dl><dt><span class="section"><a href="queue-state-replication.html#queuestatereplication-AsynchronousReplicationofQueueState">1.7.1. 
+      Asynchronous
+      Replication of Queue State
+    </a></span></dt></dl></dd><dt><span class="section"><a href="producer-flow-control.html">1.8. 
+    Producer Flow Control
+  </a></span></dt><dd><dl><dt><span class="section"><a href="producer-flow-control.html#producerflowcontrol-Overview">1.8.1. 
+      Overview
+    </a></span></dt><dt><span class="section"><a href="producer-flow-control.html#producerflowcontrol-UserInterface">1.8.2. 
+        User Interface
+      </a></span></dt></dl></dd><dt><span class="section"><a href="AMQP-Compatibility.html">1.9. 
+      AMQP compatibility
+    </a></span></dt><dd><dl><dt><span class="section"><a href="AMQP-Compatibility.html#AMQPcompatibility-AMQPCompatibilityofQpidreleases-3A">1.9.1. 
+            AMQP
+            Compatibility of Qpid releases:
+          </a></span></dt><dt><span class="section"><a href="AMQP-Compatibility.html#AMQPcompatibility-InteroptablebyAMQPspecificationversion">1.9.2. 
+            Interop
+            table by AMQP specification version
+          </a></span></dt></dl></dd><dt><span class="section"><a href="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation.html">1.10. Qpid Interoperability Documentation</a></span></dt><dd><dl><dt><span class="section"><a href="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation.html#QpidInteroperabilityDocumentation-SASL">1.10.1. 
+            SASL
+          </a></span></dt></dl></dd><dt><span class="section"><a href="Using-message-groups.html">1.11. 
+    Using Message Groups
+  </a></span></dt><dd><dl><dt><span class="section"><a href="Using-message-groups.html#usingmessagegroups-Overview">1.11.1. 
+      Overview
+    </a></span></dt><dt><span class="section"><a href="Using-message-groups.html#usingmessagegroups-GroupingMessages">1.11.2. 
+        Grouping Messages
+      </a></span></dt><dt><span class="section"><a href="Using-message-groups.html#usingmessagegroups-BrokerRole">1.11.3. 
+        The Role of the Broker
+      </a></span></dt><dt><span class="section"><a href="Using-message-groups.html#usingmessagegroups-ConsumerGuide">1.11.4. 
+        Well Behaved Consumers
+      </a></span></dt><dt><span class="section"><a href="Using-message-groups.html#usingmessagegroups-BrokerConfig">1.11.5. 
+        Broker Configuration
+      </a></span></dt></dl></dd><dt><span class="section"><a href="chapter-ha.html">1.12. Active-Passive Messaging Clusters</a></span></dt><dd><dl><dt><span class="section"><a href="chapter-ha.html#ha-overview">1.12.1. Overview</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-virtual-ip">1.12.2. Virtual IP Addresses</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-broker-config">1.12.3. Configuring the Brokers</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-rm">1.12.4. The Cluster Resource Manager</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-rm-config">1.12.5. Configuring with <span class="command"><strong>rgmanager</strong></span> as resource manager</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-broker-admin">1.12.6. Broker Administration Tools</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-replicate-values">1.12.7. Controlling replication of queues and 
 exchanges</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-failover">1.12.8. Client Connection and Fail-over</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-security">1.12.9. Security and Access Control.</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-other-rm">1.12.10. Integrating with other Cluster Resource Managers</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-store">1.12.11. Using a message store in a cluster</a></span></dt><dt><span class="section"><a href="chapter-ha.html#ha-troubleshoot">1.12.12. Troubleshooting a cluster</a></span></dt></dl></dd><dt><span class="section"><a href="ha-queue-replication.html">1.13. Replicating Queues with the HA module</a></span></dt><dd><dl><dt><span class="section"><a href="ha-queue-replication.html#idm140173354836560">1.13.1. Replicating queues</a></span></dt><dt><span class="section"><a href="ha-queue-replication.html#idm140173356524352">1.13.2. Replicating
  queues between clusters</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="chapter-Managing-CPP-Broker.html">2. 
+      Managing the AMQP Messaging Broker
+    </a></span></dt><dd><dl><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#section-Managing-CPP-Broker">2.1.  Managing the C++ Broker </a></span></dt><dd><dl><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#MgmtC-2B-2B-Usingqpidconfig">2.1.1. 
+            Using qpid-config
+          </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#MgmtC-2B-2B-Usingqpidroute">2.1.2. 
+            Using qpid-route
+          </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#MgmtC-2B-2B-Usingqpidtool">2.1.3. 
+            Using qpid-tool
+          </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#MgmtC-2B-2B-Usingqpidprintevents">2.1.4. 
+            Using
+            qpid-printevents
+          </a></span></dt><dt><span class="section"><a href="chapter-Managing-CPP-Broker.html#idm140173356835712">2.1.5. Using qpid-ha</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s02.html">2.2. 
+      Qpid Management Framework
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s02.html#QpidManagementFramework-WhatIsQMF">2.2.1. 
+            What Is QMF
+          </a></span></dt><dt><span class="section"><a href="ch02s02.html#QpidManagementFramework-GettingStartedwithQMF">2.2.2. 
+            Getting
+            Started with QMF
+          </a></span></dt><dt><span class="section"><a href="ch02s02.html#QpidManagementFramework-QMFConcepts">2.2.3. 
+            QMF Concepts
+          </a></span></dt><dt><span class="section"><a href="ch02s02.html#QpidManagementFramework-TheQMFProtocol">2.2.4. 
+            The QMF
+            Protocol
+          </a></span></dt><dt><span class="section"><a href="ch02s02.html#QpidManagementFramework-HowtoWriteaQMFConsole">2.2.5. 
+            How
+            to Write a QMF Console
+          </a></span></dt><dt><span class="section"><a href="ch02s02.html#QpidManagementFramework-HowtoWriteaQMFAgent">2.2.6. 
+            How to
+            Write a QMF Agent
+          </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s03.html">2.3. 
+      QMF Python Console Tutorial
+    </a></span></dt><dd><dl><dt><span class="section"><a href="ch02s03.html#QMFPythonConsoleTutorial-PrerequisiteInstallQpidMessaging">2.3.1. 
+            Prerequisite
+            - Install Qpid Messaging
+          </a></span></dt><dt><span class="section"><a href="ch02s03.html#QMFPythonConsoleTutorial-SynchronousConsoleOperations">2.3.2. 
+            Synchronous
+            Console Operations
+          </a></span></dt><dt><span class="section"><a href="ch02s03.html#QMFPythonConsoleTutorial-AsynchronousConsoleOperations">2.3.3. 
+            Asynchronous
+            Console Operations
+          </a></span></dt><dt><span class="section"><a href="ch02s03.html#QMFPythonConsoleTutorial-DiscoveringwhatKindsofObjectsareAvailable">2.3.4. 
+            Discovering what Kinds of Objects are Available
+          </a></span></dt></dl></dd></dl></dd></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>1.1. <a href="ch01.html#idm140173359592576">QMF Management - Broker Methods for Managing the Timestamp Configuration</a></dt><dt>1.2. <a href="ch01.html#idm140173359579408">C++ Broker Log Severity Levels</a></dt><dt>1.3. <a href="ch01.html#idm140173359567776">C++ Broker Log Categories</a></dt><dt>1.4. <a href="ch01.html#idm140173359554912">C++ Broker Log Statement Attributes</a></dt><dt>1.5. <a href="ch01.html#idm140173359543920">C++ Broker Log Enable/Disable RULE Format</a></dt><dt>1.6. <a href="ch01.html#idm140173359533472">C++ Broker Log Enable/Disable Settings Tables</a></dt><dt>1.7. <a href="ch01.html#idm140173359522352">C++ Broker Log Statement Visibility Determination</a></dt><dt>1.8. <a href="ch01.html#idm140173359509056">QMF Management - Broker Methods for Managing the Log Enable/Disable Settings</a></dt><dt>1.9. <a href="chap-Messaging_User_Gui
 de-Broker_Federation.html#tabl-Messaging_User_Guide-The_qpid_route_Utility-qpid_route_options"><span class="command">qpid-route</span> options</a></dt><dt>1.10. <a href="chap-Messaging_User_Guide-Broker_Federation.html#tabl-Messaging_User_Guide-Resilient_Connections-State_values_in_qpid_route_list_connections">State values in <span class="command">$ qpid-route list connections</span></a></dt><dt>1.11. <a href="chap-Messaging_User_Guide-Broker_Federation.html#federation-broker-options-table">Broker Options for Federation</a></dt><dt>1.12. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rules_permission">ACL Rules: permission</a></dt><dt>1.13. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesaction">ACL Rules: action</a></dt><dt>1.14. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesobject">ACL Rules:object</a></dt><dt>1.15. <a href="chap-Messaging_User
 _Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_Rulesproperty">ACL Rules: property</a></dt><dt>1.16. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_ActionObject_properties">Broker Lookup Events With Allowed Action, Object, and Properties</a></dt><dt>1.17. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_UsernameSubstitution">ACL User Name and Domain Name Substitution Keywords</a></dt><dt>1.18. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-ACL_Syntax-ACL_TopicExchangeMatch">Topic Exchange Wildcard Match Examples</a></dt><dt>1.19. <a href="chap-Messaging_User_Guide-Security.html#tabl-Messaging_User_Guide-Enabling_SSL_in_Clients-SSL_Client_Environment_Variables_for_C_clients">SSL Client Environment Variables for C++ clients</a></dt><dt>1.20. <a href="producer-flow-control.html#idm140173355457344">Queue Declare Method Flow Control Arguments</a></dt><dt>1.21. <a 
 href="producer-flow-control.html#idm140173358710048">Flow Control Statistics available in Queue's QMF Class</a></dt><dt>1.22. <a href="AMQP-Compatibility.html#idm140173353934112">AMQP Version Support by Qpid Release</a></dt><dt>1.23. <a href="AMQP-Compatibility.html#idm140173355678896">AMQP Version Support - alternate format</a></dt><dt>1.24. <a href="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation.html#idm140173357589616">SASL Mechanism Support</a></dt><dt>1.25. <a href="QpidInteroperabilityDocumentation-QpidInteroperabilityDocumentation.html#idm140173356693152">SASL Custom Mechanisms</a></dt><dt>1.26. <a href="Using-message-groups.html#idm140173354541888">qpid-config options for creating message group queues</a></dt><dt>1.27. <a href="Using-message-groups.html#idm140173355737184">Queue Declare/Address Syntax Message Group Configuration Arguments</a></dt><dt>1.28. <a href="chapter-ha.html#ha-broker-options">Broker Options for High Availability Messaging Cluster<
 /a></dt><dt>1.29. <a href="chapter-ha.html#ha-security-options">HA Security Options</a></dt><dt>2.1. <a href="ch02s02.html#idm140173358965968">XML Attributes for QMF Properties and Statistics</a></dt><dt>2.2. <a href="ch02s02.html#idm140173355554944">QMF Datatypes</a></dt><dt>2.3. <a href="ch02s02.html#idm140173353645952">XML Schema Mapping for QMF Types</a></dt><dt>2.4. <a href="ch02s03.html#idm140173354776496">QMF Python Console Class Methods</a></dt></dl></div><div class="list-of-examples"><p><strong>List of Examples</strong></p><dl><dt>1.1. <a href="ch01.html#idm140173359586608">Enabling Message Timestamping via QMF - Python</a></dt><dt>1.2. <a href="ch01.html#idm140173359500912">
+	Querying Log Settings via qpid-ctrl utility
+      </a></dt><dt>1.3. <a href="ch01.html#idm140173359497056">
+	Setting Log Settings via qpid-ctrl utility
+      </a></dt><dt>1.4. <a href="Using-message-groups.html#idm140173354612320">Creating a message group queue via qpid-config</a></dt><dt>1.5. <a href="Using-message-groups.html#idm140173353726960">Creating a message group queue using address syntax (C++)</a></dt><dt>1.6. <a href="Using-message-groups.html#idm140173354094592">Overriding the default message group identifier for the broker</a></dt></dl></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%">&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="pr01.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">&#160;</td><td align="center" width="20%">&#160;</td><td align="right" valign="top" width="40%">&#160;Introduction</td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/cpp-broker/book/pr01.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/cpp-broker/book/pr01.html.in b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/pr01.html.in
new file mode 100644
index 0000000..256b5a8
--- /dev/null
+++ b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/pr01.html.in
@@ -0,0 +1,6 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Introduction</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="index.html">Prev</a>&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr /></div><div class="preface"><div class="titlepage"><div><div><h1 class="title"><a id="idm140173359849712"></a>Introduction</h1></div></div></div><p>Qpid provides two AMQP messaging brokers:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Implemented in C++ - high performance, low latency, and RDMA support.</p></li><li class="listitem"><p>Implemented in Java - Fully JMS compliant, runs on any Java platform.</p></li></ul></div><p>Both AMQP messaging brokers support clients in multiple
+    languages, as long as the messaging client and the messaging
+    broker use the same version of AMQP. See <a class="link" href="AMQP-Compatibility.html" title="1.9.&#160; AMQP compatibility">AMQP Compatibility</a> to see
+    which messaging clients work with each broker.</p><p>This manual contains information specific to the broker that is implemented in C++.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="index.html">Prev</a>&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">AMQP Messaging Broker (Implemented in C++)&#160;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Chapter&#160;1.&#160;
+      Running the AMQP Messaging Broker
+    </td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/cpp-broker/book/producer-flow-control.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/cpp-broker/book/producer-flow-control.html.in b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/producer-flow-control.html.in
new file mode 100644
index 0000000..d9779b5
--- /dev/null
+++ b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/producer-flow-control.html.in
@@ -0,0 +1,191 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">1.8.&#160;
+    Producer Flow Control
+  </th></tr><tr><td align="left" width="20%"><a accesskey="p" href="queue-state-replication.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;1.&#160;
+      Running the AMQP Messaging Broker
+    </th><td align="right" width="20%">&#160;<a accesskey="n" href="AMQP-Compatibility.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="producer-flow-control"></a>1.8.&#160;
+    Producer Flow Control
+  </h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="producerflowcontrol-Overview"></a>1.8.1.&#160;
+      Overview
+    </h3></div></div></div><p>
+	As of release 0.10, the C++ broker supports the use of flow control to
+	throttle back message producers that are at risk of overflowing a
+	destination queue.
+      </p><p>
+        Each queue in the C++ broker has two threshold values associated with it:
+      </p><p>
+        Flow Stop Threshold: this is the level of queue resource
+        utilization above which flow control will be enabled.  Once this
+        threshold is crossed, the queue is considered in danger of overflow.
+      </p><p>
+        Flow Resume Threshold - this is the level of queue resource utilization
+        below which flow control will be disabled.  Once this threshold is
+        crossed, the queue is no longer considered in danger of overflow.
+      </p><p>
+        In the above description, queue resource utilization may be
+        defined as the total count of messages currently enqueued, or the total
+        sum of all message content in bytes.
+      </p><p>
+        The value for a queue's Flow Stop Threshold must be greater than or
+        equal to the value of the queue's Flow Resume Threshold.
+      </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="producerflowcontrol-QueueThresholdsExample"></a>1.8.1.1.&#160;
+	Example
+      </h4></div></div></div><p>
+        Let's consider a queue with a maximum limit set on the total number of
+        messages that may be enqueued to that queue.  Assume this maximum
+        message limit is 1000 messages.  Assume also that the user configures a
+        Flow Stop Threshold of 900 messages, and a Flow Resume Threshold of 500
+        messages.  Then the following holds:
+      </p><p>
+        The queue's initial flow control state is "OFF".
+      </p><p>
+        While the total number of enqueued messages is less than or equal to
+        900, the queue's flow control state remains "OFF".
+      </p><p>
+        When the total number of enqueued messages is greater than 900, the
+        queue's flow control state transitions to "ON".
+      </p><p>
+        When the queue's flow control state is "ON", it remains "ON" until the
+        total number of enqueued messages is less than 500.  At that point, the queue's
+        flow control state transitions to "OFF".
+      </p><p>
+        A similar example using total enqueued content bytes as the threshold
+        units are permitted.
+      </p></div><p>
+      Thresholds may be set using both total message counts and total byte
+      counts.  In this case, the following rules apply:
+    </p><p>
+      1) Flow control is "ON" when either stop threshold value is crossed.
+    </p><p>
+      2) Flow control remains "ON" until both resume thresholds are satisfied.
+    </p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="producerflowcontro-MultiThresholdExample"></a>1.8.1.2.&#160;
+	Example
+      </h4></div></div></div><p>
+      Let's consider a queue with a maximum size limit of 10K bytes, and 5000
+      messages.  A user may assign a Flow Stop Threshold based on a total
+      message count of 4000 messages.  They may also assigne a Flow Stop
+      Threshold of 8K bytes.  The queue's flow control state transitions to
+      "ON" if either threshold is crossed: (total-msgs greater-than 4000 OR total-bytes
+      greater-than 8K).
+    </p><p>
+      Assume the user has assigned Flow Resume threshold's of 3000 messages and
+      6K bytes.  Then the queue's flow control will remain active until both
+      thresholds are satified: (total-msg less-than 3000 AND total-bytes less-than 6K).
+    </p></div><p>
+      The Broker enforces flow control by delaying the completion of the
+      Message.Transfer command that causes a message to be delivered to a queue
+      with active flow control.  The completion of the Message.Transfer command
+      is held off until flow control state transitions to "OFF" for all queues
+      that are a destination for that command.
+    </p><p>
+      A message producing client is permitted to have a finite number of
+      commands pending completion.  When the total number of these outstanding
+      commands reaches the limit, the client must not issue further commands
+      until one or more of the outstanding commands have completed.  This
+      window of outstanding commands is considered the sender's "capacity".
+      This allows any given producer to have a "capacity's" worth of messages
+      blocked due to flow control before the sender must stop sending further
+      messages.
+      </p><p>
+        This capacity window must be considered when determining a suitable
+        flow stop threshold for a given queue, as a producer may send its
+        capacity worth of messages _after_ a queue has reached the flow stop
+        threshold.  Therefore, a flow stop threshould should be set such that
+        the queue can accomodate more messages without overflowing.
+      </p><p>
+        For example, assume two clients, C1 and C2, are producing messages to
+        one particular destination queue.  Assume client C1 has a configured
+        capacity of 50 messages, and client C2's capacity is 15 messages.  In
+        this example, assume C1 and C2 are the only clients queuing messages to
+        a given queue.  If this queue has a Flow Stop Threshold of 100
+        messages, then, worst-case, the queue may receive up to 165 messages
+        before clients C1 and C2 are blocked from sending further messages.
+        This is due to the fact that the queue will enable flow control on
+        receipt of its 101'st message - preventing the completion of the
+        Message.Transfer command that carried the 101'st message.  However, C1
+        and C2 are allowed to have a total of 65 (50 for C1 and 15 for C2)
+        messages pending completion of Message.Transfer before they will stop
+        producing messages.  Thus, up to 65 messages may be enqueued beyond the
+        flow stop threshold before the producers will be blocked.
+      </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="producerflowcontrol-UserInterface"></a>1.8.2.&#160;
+        User Interface
+      </h3></div></div></div><p>
+        By default, the C++ broker assigns a queue's flow stop and flow resume
+        thresholds when the queue is created.  The C++ broker also allows the
+        user to manually specify the flow control thresholds on a per queue
+        basis.
+      </p><p>
+        However, queues that have been configured with a Limit Policy of type
+        RING or RING-STRICT do NOT have queue flow thresholds enabled by
+        default.  The nature of a RING queue defines its behavior when its
+        capacity is reach: replace the oldest message.
+      </p><p>
+        The flow control state of a queue can be determined by the "flowState"
+        boolean in the queue's QMF management object.  The queue's management
+        object also contains a counter that increments each time flow control
+        becomes active for the queue.
+      </p><p>
+        The broker applies a threshold ratio to compute a queue's default flow
+        control configuration.  These thresholds are expressed as a percentage
+        of a queue's maximum capacity.  There is one value for determining the
+        stop threshold, and another for determining the resume threshold.  The
+        user may configure these percentages using the following broker
+        configuration options:
+      </p><pre class="programlisting">
+        --default-flow-stop-threshold ("Queue capacity level at which flow control is activated.")
+        --default-flow-resume-threshold ("Queue capacity level at which flow control is de-activated.")
+      </pre><p>
+        For example:
+      </p><pre class="programlisting">
+        qpidd --default-flow-stop-threshold=90 --default-flow-resume-threshold=75
+      </pre><p>
+        Sets the default flow stop threshold to 90% of a queue's maximum
+        capacity and the flow resume threshold to 75% of the maximum capacity.
+        If a queue is created with a default-queue-limit of 10000 bytes, then
+        the default flow stop threshold would be 90% of 10000 = 9000 bytes and
+        the flow resume threshold would be 75% of 10000 = 7500.  The same
+        computation is performed should a queue be created with a maximum size
+        expressed as a message count instead of a byte count.
+      </p><p>
+        If not overridden by the user, the value of the
+        default-flow-stop-threshold is 80% and the value of the
+        default-flow-resume-threshold is 70%.
+      </p><p>
+        The user may disable default queue flow control broker-wide by
+        specifying the value 0 for both of these configuration options.  Note
+        that flow control may still be applied manually on a per-queue basis in
+        this case.
+      </p><p>
+        The user may manually set the flow thresholds when creating a queue.
+        The following options may be provided when adding a queue using the
+        <span class="command"><strong>qpid-config</strong></span> command line tool:
+      </p><pre class="programlisting">
+        --flow-stop-size=<em class="replaceable"><code>N</code></em>  Sets the queue's flow stop threshold to <em class="replaceable"><code>N</code></em> total bytes.
+        --flow-resume-size=<em class="replaceable"><code>N</code></em>  Sets the queue's flow resume threshold to <em class="replaceable"><code>N</code></em> total bytes.
+        --flow-stop-count=<em class="replaceable"><code>N</code></em> Sets the queue's flow stop threshold to <em class="replaceable"><code>N</code></em> total messages.
+        --flow-resume-count=<em class="replaceable"><code>N</code></em> Sets the queue's flow resume threshold to <em class="replaceable"><code>N</code></em> total messages.
+      </pre><p>
+        Flow thresholds may also be specified in the
+        <span class="command"><strong>queue.declare</strong></span> method, via the
+        <span class="command"><strong>arguments</strong></span> parameter map.  The following keys can be
+        provided in the arguments map for setting flow thresholds:
+      </p><div class="table"><a id="idm140173355457344"></a><p class="title"><strong>Table&#160;1.20.&#160;Queue Declare Method Flow Control Arguments</strong></p><div class="table-contents"><table border="1" summary="Queue Declare Method Flow Control Arguments"><colgroup><col /><col /></colgroup><thead><tr><th>Key</th><th>Value</th></tr></thead><tbody><tr><td>qpid.flow_stop_size</td><td>integer - queue's flow stop threshold value in bytes</td></tr><tr><td>qpid.flow_resume_size</td><td>integer - queue's flow resume threshold value in bytes</td></tr><tr><td>qpid.flow_stop_count</td><td>integer - queue's flow stop threshold value as a message count</td></tr><tr><td>qpid.flow_resume_count</td><td>integer - queue's flow resume threshold value as a message count</td></tr></tbody></table></div></div><br class="table-break" /><p>
+        The user may disable flow control on a per queue basis by setting
+        the flow-stop-size and flow-stop-count to zero for the queue.
+      </p><p>
+        The current state of flow control for a given queue can be
+        determined by the "flowStopped" statistic.  This statistic is
+        available in the queue's QMF management object. The value of
+        flowStopped is True when the queue's capacity has exceeded the
+        flow stop threshold.  The value of flowStopped is False when the
+        queue is no longer blocking due to flow control.
+      </p><p>
+        A queue will also track the number of times flow control has been
+        activated.  The "flowStoppedCount" statistic is incremented each time
+        the queue's capacity exceeds a flow stop threshold.  This statistic can
+        be used to monitor the activity of flow control for any given queue
+        over time.
+      </p><div class="table"><a id="idm140173358710048"></a><p class="title"><strong>Table&#160;1.21.&#160;Flow Control Statistics available in Queue's QMF Class</strong></p><div class="table-contents"><table border="1" summary="Flow Control Statistics available in Queue's QMF Class"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Statistic Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>flowStopped</td><td>Boolean</td><td>If true, producers are blocked by flow control.</td></tr><tr><td>flowStoppedCount</td><td>count32</td><td>Number of times flow control was activated for this queue</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="queue-state-replication.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="ch01.html">Up</a></td><td align="right" width="40%">&#160;<a acc
 esskey="n" href="AMQP-Compatibility.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">1.7.&#160;
+    Queue State Replication
+  &#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;
+      AMQP compatibility
+    </td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/cpp-broker/book/queue-state-replication.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/cpp-broker/book/queue-state-replication.html.in b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/queue-state-replication.html.in
new file mode 100644
index 0000000..65bf1be
--- /dev/null
+++ b/input/releases/qpid-cpp-1.35.0/cpp-broker/book/queue-state-replication.html.in
@@ -0,0 +1,229 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">1.7.&#160;
+    Queue State Replication
+  </th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ch01s06.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;1.&#160;
+      Running the AMQP Messaging Broker
+    </th><td align="right" width="20%">&#160;<a accesskey="n" href="producer-flow-control.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="queue-state-replication"></a>1.7.&#160;
+    Queue State Replication
+  </h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="queuestatereplication-AsynchronousReplicationofQueueState"></a>1.7.1.&#160;
+      Asynchronous
+      Replication of Queue State
+    </h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="queuestatereplication-Overview"></a>1.7.1.1.&#160;
+	Overview
+      </h4></div></div></div><p>
+	There is support in qpidd for selective asynchronous replication
+	of queue state. This is achieved by:
+      </p><p>
+	(a) enabling event generation for the queues in question
+      </p><p>
+	(b) loading a plugin on the 'source' broker to encode those
+	events as messages on a replication queue (this plugin is
+	called
+	replicating_listener.so)
+      </p><p>
+	(c) loading a custom exchange plugin on the 'backup' broker (this
+	plugin is called replication_exchange.so)
+      </p><p>
+	(d) creating an instance of the replication exchange type on the
+	backup broker
+      </p><p>
+	(e) establishing a federation bridge between the replication
+	queue on the source broker and the replication exchange on the
+	backup broker
+      </p><p>
+	The bridge established between the source and backup brokers for
+	replication (step (e) above) should have acknowledgements turned
+	on (this may be done through the --ack N option to qpid-route).
+	This ensures that replication events are not lost if the bridge
+	fails.
+      </p><p>
+	The replication protocol will also eliminate duplicates to ensure
+	reliably replicated state. Note though that only one bridge per
+	replication exchange is supported. If clients try to publish to
+	the replication exchange or if more than a the single required
+	bridge from the replication queue on the source broker is
+	created, replication will be corrupted. (Access control may be
+	used to restrict access and help prevent this).
+      </p><p>
+	The replicating event listener plugin (step (b) above) has the
+	following options:
+      </p><pre class="programlisting">
+Queue Replication Options:
+  --replication-queue QUEUE                      Queue on which events for
+                                                 other queues are recorded
+  --replication-listener-name NAME (replicator)  name by which to register the
+                                                 replicating event listener
+  --create-replication-queue                     if set, the replication will
+                                                 be created if it does not
+                                                 exist
+      </pre><p>
+	The name of the queue is required. It can either point to a
+	durable queue whose definition has been previously recorded, or
+	the --create-replication-queue option can be specified in which
+	case the queue will be created a simple non-durable queue if it
+	does not already exist.
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="queuestatereplication-UsewithClustering"></a>1.7.1.2.&#160;
+	Use with
+	Clustering
+      </h4></div></div></div><p>
+	The source and/or backup brokers may also be clustered brokers.
+	In this case the federated bridge will be re-established between
+	replicas should either of the originally connected nodes fail.
+	There are however the following limitations at present:
+      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>The backup site does not process membership updates after it
+	  establishes the first connection. In order for newly added
+	  members on a source cluster to be eligible as failover targets,
+	  the bridge must be recreated after those members have been added
+	  to the source cluster.
+	  </p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>New members added to a backup cluster will not receive
+	  information about currently established bridges. Therefore in
+	  order to allow the bridge to be re-established from these members
+	  in the event of failure of older nodes, the bridge must be
+	  recreated after the new members have joined.
+	  </p></li></ul></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Only a single URL can be passed to create the initial link
+	  from backup site to the primary site. this means that at the time
+	  of creating the initial connection the initial node in the
+	  primary site to which the connection is made needs to be running.
+	  Once connected the backup site will receive a membership update
+	  of all the nodes in the primary site, and if the initial
+	  connection node in the primary fails, the link will be
+	  re-established on the next node that was started (time) on the
+	  primary site.
+	  </p></li></ul></div><p>
+	Due to the acknowledged transfer of events over the bridge (see
+	note above) manual recreation of the bridge and automatic
+	re-establishment of te bridge after connection failure (including
+	failover where either or both ends are clustered brokers) will
+	not result in event loss.
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="queuestatereplication-OperationsonBackupQueues"></a>1.7.1.3.&#160;
+	Operations
+	on Backup Queues
+      </h4></div></div></div><p>
+	When replicating the state of a queue to a backup broker it is
+	important to recognise that any other operations performed
+	directly on the backup queue may break the replication.
+      </p><p>
+	If the backup queue is to be an active (i.e. accessed by clients
+	while replication is on) only enqueues should be selected
+	for
+	replication. In this mode, any message enqueued on the source
+	brokers copy of the queue will also be enqueued on the backup
+	brokers copy. However not attempt will be made to remove messages
+	from the backup queue in response to removal of messages from the
+	source queue.
+      </p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="queuestatereplication-SelectingQueuesforReplication"></a>1.7.1.4.&#160;
+	Selecting
+	Queues for Replication
+      </h4></div></div></div><p>
+	Queues are selected for replication by specifying the types of
+	events they should generate (it is from these events that the
+	replicating plugin constructs messages which are then pulled and
+	processed by the backup site). This is done through options
+	passed to the initial queue-declare command that creates the
+	queue and may be done either through qpid-config or similar
+	tools, or by the application.
+      </p><p>
+	With qpid-config, the --generate-queue-events options is used:
+      </p><pre class="programlisting">
+    --generate-queue-events N
+                         If set to 1, every enqueue will generate an event that can be processed by
+                         registered listeners (e.g. for replication). If set to 2, events will be
+                         generated for enqueues and dequeues
+      </pre><p>
+	From an application, the arguments field of the queue-declare
+	AMQP command is used to convey this information. An entry should
+	be added to the map with key 'qpid.queue_event_generation' and an
+	integer value of 1 (to replicate only enqueue events) or 2 (to
+	replicate both enqueue and dequeue events).
+      </p><p>
+	Applications written using the c++ client API may fine the
+	qpid::client::QueueOptions class convenient. This has a
+	enableQueueEvents() method on it that can be used to set the
+	option (the instance of QueueOptions is then passed as the value
+	of the arguments field in the queue-declare command. The boolean
+	option to that method should be set to true if only enequeue
+	events should be replicated; by default it is false meaning that
+	both enqueues and dequeues will be replicated. E.g.
+      </p><pre class="programlisting">
+    QueueOptions options;
+    options.enableQueueEvents(false);
+    session.queueDeclare(arg::queue="my-queue", arg::arguments=options);
+      </pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="queuestatereplication-Example"></a>1.7.1.5.&#160;
+	Example
+      </h4></div></div></div><p>
+	Lets assume we will run the primary broker on host1 and the
+	backup on host2, have installed qpidd on both and have the
+	replicating_listener and replication_exchange plugins in qpidd's
+	module directory(*1).
+      </p><p>
+	On host1 we start the source broker and specifcy that a queue
+	called 'replication' should be used for storing the events until
+	consumed by the backup. We also request that this queue be
+	created (as transient) if not already specified:
+      </p><pre class="programlisting">
+    qpidd --replication-queue replication-queue --create-replication-queue true --log-enable info+
+      </pre><p>
+	On host2 we start up the backup broker ensuring that the
+	replication exchange module is loaded:
+      </p><pre class="programlisting">
+    qpidd
+      </pre><p>
+	We can then create the instance of that replication exchange that
+	we will use to process the events:
+      </p><pre class="programlisting">
+    qpid-config -a host2 add exchange replication replication-exchange
+      </pre><p>
+	If this fails with the message "Exchange type not implemented:
+	replication", it means the replication exchange module was
+	not
+	loaded. Check that the module is installed on your system and if
+	necessary provide the full path to the library.
+      </p><p>
+	We then connect the replication queue on the source broker with
+	the replication exchange on the backup broker using the
+	qpid-route command:
+      </p><pre class="programlisting">
+    qpid-route --ack 50 queue add host2 host1 replication-exchange replication-queue
+</pre><p>
+            The example above configures the bridge to acknowledge messages
+            in batches of 50.
+          </p><p>
+            Now create two queues (on both source and backup brokers), one
+            replicating both enqueues and dequeues (queue-a) and the
+            other
+            replicating only dequeues (queue-b):
+          </p><pre class="programlisting">
+    qpid-config -a host1 add queue queue-a --generate-queue-events 2
+    qpid-config -a host1 add queue queue-b --generate-queue-events 1
+
+    qpid-config -a host2 add queue queue-a
+    qpid-config -a host2 add queue queue-b
+	    </pre><p>
+	      We are now ready to use the queues and see the replication.
+	    </p><p>
+	      Any message enqueued on queue-a will be replicated to the backup
+	      broker. When the message is acknowledged by a client connected to
+	      host1 (and thus dequeued), that message will be removed from the
+	      copy of the queue on host2. The state of queue-a on host2 will
+	      thus mirror that of the equivalent queue on host1, albeit with a
+	      small lag. (Note
+	      however that we must not have clients connected to host2 publish
+	      to-or consume from- queue-a or the state will fail to replicate
+	      correctly due to conflicts).
+	    </p><p>
+	      Any message enqueued on queue-b on host1 will also be enqueued on
+	      the equivalent queue on host2. However the acknowledgement and
+	      consequent dequeuing of messages from queue-b on host1 will have
+	      no effect on the state of queue-b on host2.
+	    </p><p>
+	      (*1) If not the paths in the above may need to be modified. E.g.
+	      if using modules built from a qpid svn checkout, the following
+	      would be added to the command line used to start qpidd on host1:
+	    </p><pre class="programlisting">
+    --load-module &lt;path-to-qpid-dir&gt;/src/.libs/replicating_listener.so
+	    </pre><p>
+	      and the following for the equivalent command line on host2:
+	    </p><pre class="programlisting">
+    --load-module &lt;path-to-qpid-dir&gt;/src/.libs/replication_exchange.so
+	    </pre></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ch01s06.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="ch01.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="producer-flow-control.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">1.6.&#160;LVQ - Last Value Queue&#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.8.&#160;
+    Producer Flow Control
+  </td></tr></table></div></div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/cpp-broker/cpp-broker-book.pdf
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/cpp-broker/cpp-broker-book.pdf b/input/releases/qpid-cpp-1.35.0/cpp-broker/cpp-broker-book.pdf
new file mode 100644
index 0000000..50f781b
Binary files /dev/null and b/input/releases/qpid-cpp-1.35.0/cpp-broker/cpp-broker-book.pdf differ

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/index.md
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/index.md b/input/releases/qpid-cpp-1.35.0/index.md
new file mode 100644
index 0000000..abdee24
--- /dev/null
+++ b/input/releases/qpid-cpp-1.35.0/index.md
@@ -0,0 +1,70 @@
+;;
+;; 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.
+;;
+
+# Qpid C++ 1.35.0
+
+Qpid C++ offers a connection-oriented messaging API and a message
+broker written in C++ that stores, routes, and forwards messages using
+AMQP. More about [Qpid]({{site_url}}/index.html).
+
+For a detailed list of the changes in this release, see the [release
+notes](release-notes.html).
+
+It's important to [verify the
+integrity]({{site_url}}/download.html#verify-what-you-download) of the
+files you download.
+
+## Source archives
+
+| Content | Download | Verify |
+|---------|----------|--------|
+| C++ broker, Qpid Messaging API (C++) | [qpid-cpp-1.35.0.tar.gz](http://archive.apache.org/dist/qpid/cpp/1.35.0/qpid-cpp-1.35.0.tar.gz) | [ASC](http://archive.apache.org/dist/qpid/cpp/1.35.0/qpid-cpp-1.35.0.tar.gz.asc), [MD5](http://archive.apache.org/dist/qpid/cpp/1.35.0/qpid-cpp-1.35.0.tar.gz.md5), [SHA1](http://archive.apache.org/dist/qpid/cpp/1.35.0/qpid-cpp-1.35.0.tar.gz.sha1) |
+
+## Components
+
+| Component | Languages | Platforms | AMQP versions |
+|-----------|-----------|-----------|---------------|
+| [C++ broker]({{site_url}}/components/cpp-broker/index.html) | C++ | Linux, Windows | 1.0, 0-10 |
+| [Qpid Messaging API]({{site_url}}/components/messaging-api/index.html) | C++ | Linux, Windows | 1.0, 0-10 |
+
+## Documentation
+
+
+<div class="two-column" markdown="1">
+
+ - [Installing Qpid C++](https://git-wip-us.apache.org/repos/asf?p=qpid-cpp.git;a=blob_plain;f=INSTALL.txt;hb=HEAD)
+ - [C++ broker book](cpp-broker/book/index.html) ([PDF](cpp-broker/cpp-broker-book.pdf))
+ - [C++ API reference](messaging-api/cpp/api/index.html)
+ - [C++ examples](messaging-api/cpp/examples/index.html)
+
+</div>
+
+
+## More information
+
+ - [Resolved issues in JIRA](https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+AND+fixVersion+%3D+%27qpid-cpp-1.35.0%27+AND+resolution+%3D+%27fixed%27+ORDER+BY+priority+DESC)
+ - [Source repository tag](http://svn.apache.org/repos/asf/qpid/tags/qpid-cpp-1.35.0)
+
+<script type="text/javascript">
+  _deferredFunctions.push(function() {
+      if ("1.35.0" === "{{current_cpp_release}}") {
+          _modifyCurrentReleaseLinks();
+      }
+  });
+</script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/eff0fe55/input/releases/qpid-cpp-1.35.0/messaging-api/cpp/api/Address_8h_source.html
----------------------------------------------------------------------
diff --git a/input/releases/qpid-cpp-1.35.0/messaging-api/cpp/api/Address_8h_source.html b/input/releases/qpid-cpp-1.35.0/messaging-api/cpp/api/Address_8h_source.html
new file mode 100644
index 0000000..3bf3fdb
--- /dev/null
+++ b/input/releases/qpid-cpp-1.35.0/messaging-api/cpp/api/Address_8h_source.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.11"/>
+<title>Qpid C++ Messaging API: qpid/messaging/Address.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+  $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+  $(document).ready(function() { init_search(); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+  <td id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">Qpid C++ Messaging API
+   &#160;<span id="projectnumber">1.35.0</span>
+   </div>
+  </td>
+   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
+        <span class="left">
+          <img id="MSearchSelect" src="search/mag_sel.png"
+               onmouseover="return searchBox.OnSearchSelectShow()"
+               onmouseout="return searchBox.OnSearchSelectHide()"
+               alt=""/>
+          <input type="text" id="MSearchField" value="Search" accesskey="S"
+               onfocus="searchBox.OnSearchFieldFocus(true)" 
+               onblur="searchBox.OnSearchFieldFocus(false)" 
+               onkeyup="searchBox.OnSearchFieldChange(event)"/>
+          </span><span class="right">
+            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+          </span>
+        </div>
+</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.11 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('Address_8h_source.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0" 
+        name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+  <div class="headertitle">
+<div class="title">Address.h</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef QPID_MESSAGING_ADDRESS_H</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define QPID_MESSAGING_ADDRESS_H</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * or more contributor license agreements.  See the NOTICE file</span></div><div class=
 "line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * distributed with this work for additional information</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * regarding copyright ownership.  The ASF licenses this file</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * &quot;License&quot;); you may not use this file except in compliance</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> * with the License.  You may obtain a copy of the License at</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * </span></div><div class="line"><a name=
 "l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *   http://www.apache.org/licenses/LICENSE-2.0</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> * </span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * software distributed under the License is distributed on an</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * KIND, either express or implied.  See the License for the</span></div><div class="line"><a name="l00020"></a><span 
 class="lineno">   20</span>&#160;<span class="comment"> * specific language governing permissions and limitations</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * under the License.</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#include &quot;qpid/messaging/ImportExport.h&quot;</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#include &quot;qpid/messaging/exceptions.h&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span clas
 s="preprocessor">#include &quot;qpid/types/Variant.h&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &lt;ostream&gt;</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceqpid.html">qpid</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">namespace </span>messaging {</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<spa
 n class="keyword">class </span>AddressImpl;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classqpid_1_1messaging_1_1Address.html">  122</a></span>&#160;<span class="keyword">class </span>QPID_MESSAGING_CLASS_EXTERN <a class="code" href="classqpid_1_1messaging_1_1Address.html">Address</a></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;{</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;  <span class="keyword">public</span>:</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    QPID_MESSAGING_EXTERN <a class="code" href="classqpid_1_1messaging_1_1Address.html">Address</a>();</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    QPID_MESSAGING_EXTERN Address(<span class="keyword">const</span> std::string&amp; address);</div><div c
 lass="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    QPID_MESSAGING_EXTERN Address(<span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> std::string&amp; subject,</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;                               <span class="keyword">const</span> qpid::types::Variant::Map&amp; options, <span class="keyword">const</span> std::string&amp; type = <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    QPID_MESSAGING_EXTERN Address(<span class="keyword">const</span> Address&amp; address);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    QPID_MESSAGING_EXTERN ~Address();</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    QPID_MESSAGING_EXTERN Address&amp; operator=(<span class="keyword">const</span> Address&amp
 ;);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    QPID_MESSAGING_EXTERN <span class="keyword">const</span> std::string&amp; getName() <span class="keyword">const</span>;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    QPID_MESSAGING_EXTERN <span class="keywordtype">void</span> setName(<span class="keyword">const</span> std::string&amp;);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    QPID_MESSAGING_EXTERN <span class="keyword">const</span> std::string&amp; getSubject() <span class="keyword">const</span>;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    QPID_MESSAGING_EXTERN <span class="keywordtype">void</span> setSubject(<span class="keyword">const</span> std::string&amp;);</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    QPID_MESSAGING_EXTERN <span class="keyword">const</span> qpid::types
 ::Variant::Map&amp; getOptions() <span class="keyword">const</span>;</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    QPID_MESSAGING_EXTERN qpid::types::Variant::Map&amp; getOptions();</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    QPID_MESSAGING_EXTERN <span class="keywordtype">void</span> setOptions(<span class="keyword">const</span> qpid::types::Variant::Map&amp;);</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    QPID_MESSAGING_EXTERN std::string getType() <span class="keyword">const</span>;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    QPID_MESSAGING_EXTERN <span class="keywordtype">void</span> setType(<span class="keyword">const</span> std::string&amp;);</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div
 ><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    QPID_MESSAGING_EXTERN std::string str() <span class="keyword">const</span>;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    QPID_MESSAGING_EXTERN <span class="keyword">operator</span> bool() <span class="keyword">const</span>;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    QPID_MESSAGING_EXTERN <span class="keywordtype">bool</span> operator !() <span class="keyword">const</span>;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;  <span class="keyword">private</span>:</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    AddressImpl* impl;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span>AddressImpl;</div><div class="line"><a name="l00157"></a><span cl
 ass="lineno">  157</span>&#160;};</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<span class="preprocessor">#ifndef SWIG</span></div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;QPID_MESSAGING_EXTERN std::ostream&amp; operator&lt;&lt;(std::ostream&amp; out, <span class="keyword">const</span> <a class="code" href="classqpid_1_1messaging_1_1Address.html">Address</a>&amp; address);</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;}} <span class="comment">// namespace qpid::messaging</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a 
 name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">#endif  </span></div><div class="ttc" id="classqpid_1_1messaging_1_1Address_html"><div class="ttname"><a href="classqpid_1_1messaging_1_1Address.html">qpid::messaging::Address</a></div><div class="ttdef"><b>Definition:</b> Address.h:122</div></div>
+<div class="ttc" id="namespaceqpid_html"><div class="ttname"><a href="namespaceqpid.html">qpid</a></div><div class="ttdef"><b>Definition:</b> Address.h:32</div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_13a1f016b7e4029ce6d63f46085f9ca8.html">qpid</a></li><li class="navelem"><a class="el" href="dir_20ca349f353d950391945791158d5618.html">messaging</a></li><li class="navelem"><b>Address.h</b></li>
+    <li class="footer">Generated by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
+  </ul>
+</div>
+</body>
+</html>


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