Added: qpid/site/docs/releases/qpid-jms-master/release-notes.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-jms-master/release-notes.html?rev=1705923&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-jms-master/release-notes.html (added) +++ qpid/site/docs/releases/qpid-jms-master/release-notes.html Tue Sep 29 20:27:56 2015 @@ -0,0 +1,143 @@ +<!DOCTYPE html> +<!-- + - + - 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. + - +--> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> + <title>Qpid JMS master Release Notes - Apache Qpid™</title> + <meta http-equiv="X-UA-Compatible" content="IE=edge"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <link rel="stylesheet" href="/site.css" type="text/css" async="async"/> + <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/> + <script type="text/javascript">var _deferredFunctions = [];</script> + <script type="text/javascript" src="/deferred.js" defer="defer"></script> + <!--[if lte IE 8]> + <link rel="stylesheet" href="/ie.css" type="text/css"/> + <script type="text/javascript" src="/html5shiv.js"></script> + <![endif]--> + </head> + <body> + <div id="-content"> + <div id="-top" class="panel"> + <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a> + + <a id="-search-link"><img width="22" height="16" src="" alt="Search"/></a> + + <ul id="-global-navigation"> + <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li> + <li><a href="/documentation.html">Documentation</a></li> + <li><a href="/download.html">Download</a></li> + <li><a href="/discussion.html">Discussion</a></li> + </ul> + </div> + + <div id="-menu" class="panel" style="display: none;"> + <div class="flex"> + <section> + <h3>Project</h3> + + <ul> + <li><a href="/overview.html">Overview</a></li> + <li><a href="/components/index.html">Components</a></li> + <li><a href="/releases/index.html">Releases</a></li> + </ul> + </section> + + <section> + <h3>Messaging APIs</h3> + + <ul> + <li><a href="/proton/index.html">Qpid Proton</a></li> + <li><a href="/components/jms/index.html">Qpid JMS</a></li> + <li><a href="/components/messaging-api/index.html">Qpid Messaging API</a></li> + </ul> + </section> + + <section> + <h3>Servers and tools</h3> + + <ul> + <li><a href="/components/java-broker/index.html">Java broker</a></li> + <li><a href="/components/cpp-broker/index.html">C++ broker</a></li> + <li><a href="/components/dispatch-router/index.html">Dispatch router</a></li> + </ul> + </section> + + <section> + <h3>Resources</h3> + + <ul> + <li><a href="/dashboard.html">Dashboard</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/qpid/Index">Wiki</a></li> + <li><a href="/resources.html">More resources</a></li> + </ul> + </section> + </div> + </div> + + <div id="-search" class="panel" style="display: none;"> + <form action="http://www.google.com/search" method="get"> + <input type="hidden" name="sitesearch" value="qpid.apache.org"/> + <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/> + <button type="submit">Search</button> + <a href="/search.html">More ways to search</a> + </form> + </div> + + <div id="-middle" class="panel"> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-jms-master/index.html">Qpid JMS Master</a></li><li>Qpid JMS master Release Notes</li></ul> + + <div id="-middle-content"> + <h1 id="qpid-jms-master-release-notes">Qpid JMS master Release Notes</h1> + +<p>Qpid JMS is a complete <a href="http://en.wikipedia.org/wiki/Java_Message_Service">Java Message Service</a> 1.1 client built +using the <a href="/proton/index.html">Qpid Proton</a> protocol +engine.</p> + +<p>For more information about this release, including download links and +documentation, see the <a href="index.html">release overview</a>.</p> + + + <hr/> + + <ul id="-apache-navigation"> + <li><a href="http://www.apache.org/">Apache</a></li> + <li><a href="http://www.apache.org/licenses/">License</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> + <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="" alt="Apache"/></a></li> + </ul> + + <p id="-legal"> + Apache Qpid, Messaging built on AMQP; Copyright © 2015 + The Apache Software Foundation; Licensed under + the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache + License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners + </p> + </div> + </div> + </div> + </body> +</html>
Modified: qpid/site/docs/releases/qpid-proton-master/index.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/index.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/index.html (original) +++ qpid/site/docs/releases/qpid-proton-master/index.html Tue Sep 29 20:27:56 2015 @@ -21,7 +21,7 @@ --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> - <title>Qpid Proton Development - Apache Qpid™</title> + <title>Qpid Proton Master - Apache Qpid™</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <link rel="stylesheet" href="/site.css" type="text/css" async="async"/> @@ -102,20 +102,20 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Proton Development</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li>Qpid Proton Master</li></ul> <div id="-middle-content"> - <h1 id="qpid-proton-development">Qpid Proton Development</h1> + <h1 id="qpid-proton-master">Qpid Proton Master</h1> <div class="feature"> <h2 id="warning-this-is-a-snapshot-of-work-in-progress">Warning! This is a snapshot of work in progress</h2> <p>Code and documentation found here may be unstable, incorrect, or -incomplete. For a smoother experience, see the -<a href="/releases/qpid-proton-0.10/index.html">current stable release</a>.</p> +incomplete. For a smoother experience, see the <a href="/releases/qpid-proton-0.10/index.html">current stable +release</a>.</p> -<p>This content was generated at 15:55 on Friday, 04 September 2015.</p> +<p>This content was generated at 16:07 on Tuesday, 29 September 2015.</p> </div> @@ -128,7 +128,10 @@ incomplete. For a smoother experience, <li><a href="proton/cpp/api/index.html">C++ API reference</a></li> <li><a href="proton/java/api/index.html">Java API reference</a></li> <li><a href="proton/python/api/index.html">Python API reference</a></li> -<li><a href="https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;a=blob_plain;f=README;hb=HEAD">Installing Qpid Proton</a></li> +<li><a href="proton/python/book/tutorial.html">Python tutorial</a></li> +<li><a href="proton/python/examples/index.html">Python examples</a></li> +<li><a href="https://github.com/apache/qpid-proton/tree/master/proton-c/bindings/go/README.md">Go binding</a></li> +<li><a href="https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;a=blob;f=INSTALL.md;hb=master">Installing Qpid Proton</a></li> </ul> </div> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/index.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/index.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/index.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/index.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li>C AMQP Messenger Examples</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li>C AMQP Messenger Examples</li></ul> <div id="-middle-content"> <h1 id="c-amqp-messenger-examples">C AMQP Messenger Examples</h1> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/recv-async.c.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/recv-async.c.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/recv-async.c.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/recv-async.c.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/c/examples/index.html">C AMQP Messenger Examples</a></li><li>recv-async.c</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/c/examples/index.html">C AMQP Messenger Examples</a></li><li>recv-async.c</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/recv.c.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/recv.c.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/recv.c.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/recv.c.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/c/examples/index.html">C AMQP Messenger Examples</a></li><li>recv.c</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/c/examples/index.html">C AMQP Messenger Examples</a></li><li>recv.c</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/send-async.c.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/send-async.c.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/send-async.c.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/send-async.c.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/c/examples/index.html">C AMQP Messenger Examples</a></li><li>send-async.c</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/c/examples/index.html">C AMQP Messenger Examples</a></li><li>send-async.c</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/send.c.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/send.c.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/send.c.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/c/examples/send.c.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/c/examples/index.html">C AMQP Messenger Examples</a></li><li>send.c</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/c/examples/index.html">C AMQP Messenger Examples</a></li><li>send.c</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/client.pl.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/client.pl.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/client.pl.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/client.pl.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>client.pl</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>client.pl</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/index.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/index.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/index.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/index.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li>Perl AMQP Messenger Examples</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li>Perl AMQP Messenger Examples</li></ul> <div id="-middle-content"> <h1 id="perl-amqp-messenger-examples">Perl AMQP Messenger Examples</h1> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/recv.pl.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/recv.pl.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/recv.pl.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/recv.pl.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>recv.pl</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>recv.pl</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/recv_async.pl.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/recv_async.pl.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/recv_async.pl.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/recv_async.pl.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>recv_async.pl</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>recv_async.pl</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/send.pl.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/send.pl.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/send.pl.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/send.pl.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>send.pl</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>send.pl</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/send_async.pl.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/send_async.pl.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/send_async.pl.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/send_async.pl.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>send_async.pl</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>send_async.pl</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/server.pl.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/server.pl.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/server.pl.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/perl/examples/server.pl.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>server.pl</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/perl/examples/index.html">Perl AMQP Messenger Examples</a></li><li>server.pl</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/index.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/index.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/index.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/index.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li>PHP AMQP Messenger Examples</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li>PHP AMQP Messenger Examples</li></ul> <div id="-middle-content"> <h1 id="php-amqp-messenger-examples">PHP AMQP Messenger Examples</h1> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/recv.php.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/recv.php.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/recv.php.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/recv.php.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/php/examples/index.html">PHP AMQP Messenger Examples</a></li><li>recv.php</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/php/examples/index.html">PHP AMQP Messenger Examples</a></li><li>recv.php</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/send.php.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/send.php.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/send.php.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/php/examples/send.php.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/php/examples/index.html">PHP AMQP Messenger Examples</a></li><li>send.php</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/php/examples/index.html">PHP AMQP Messenger Examples</a></li><li>send.php</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/async.py.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/async.py.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/async.py.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/async.py.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>async.py</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>async.py</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/client.py.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/client.py.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/client.py.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/client.py.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>client.py</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>client.py</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/index.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/index.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/index.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/index.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li>Python AMQP Messenger Examples</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li>Python AMQP Messenger Examples</li></ul> <div id="-middle-content"> <h1 id="python-amqp-messenger-examples">Python AMQP Messenger Examples</h1> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/recv.py.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/recv.py.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/recv.py.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/recv.py.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>recv.py</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>recv.py</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/recv_async.py.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/recv_async.py.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/recv_async.py.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/recv_async.py.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>recv_async.py</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>recv_async.py</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/send.py.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/send.py.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/send.py.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/send.py.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>send.py</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>send.py</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/send_async.py.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/send_async.py.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/send_async.py.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/send_async.py.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>send_async.py</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>send_async.py</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/server.py.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/server.py.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/server.py.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/python/examples/server.py.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>server.py</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/python/examples/index.html">Python AMQP Messenger Examples</a></li><li>server.py</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/client.rb.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/client.rb.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/client.rb.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/client.rb.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>client.rb</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>client.rb</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/index.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/index.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/index.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/index.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li>Ruby AMQP Messenger Examples</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li>Ruby AMQP Messenger Examples</li></ul> <div id="-middle-content"> <h1 id="ruby-amqp-messenger-examples">Ruby AMQP Messenger Examples</h1> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/mailserver.rb.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/mailserver.rb.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/mailserver.rb.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/mailserver.rb.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>mailserver.rb</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>mailserver.rb</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/nonblocking_recv.rb.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/nonblocking_recv.rb.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/nonblocking_recv.rb.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/nonblocking_recv.rb.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>nonblocking_recv.rb</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>nonblocking_recv.rb</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/recv.rb.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/recv.rb.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/recv.rb.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/recv.rb.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>recv.rb</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>recv.rb</li></ul> <div id="-middle-content"> Modified: qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/send.rb.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/send.rb.html?rev=1705923&r1=1705922&r2=1705923&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/send.rb.html (original) +++ qpid/site/docs/releases/qpid-proton-master/messenger/ruby/examples/send.rb.html Tue Sep 29 20:27:56 2015 @@ -102,7 +102,7 @@ </div> <div id="-middle" class="panel"> - <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Development</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>send.rb</li></ul> + <ul id="-path-navigation"><li><a href="/index.html">Home</a></li><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-proton-master/index.html">Qpid Proton Master</a></li><li><a href="/releases/qpid-proton-master/messenger/ruby/examples/index.html">Ruby AMQP Messenger Examples</a></li><li>send.rb</li></ul> <div id="-middle-content"> Added: qpid/site/docs/releases/qpid-proton-master/proton/java/api/org/apache/qpid/proton/engine/ExtendableAccessor.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/java/api/org/apache/qpid/proton/engine/ExtendableAccessor.html?rev=1705923&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/java/api/org/apache/qpid/proton/engine/ExtendableAccessor.html (added) +++ qpid/site/docs/releases/qpid-proton-master/proton/java/api/org/apache/qpid/proton/engine/ExtendableAccessor.html Tue Sep 29 20:27:56 2015 @@ -0,0 +1,308 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!-- NewPage --> +<html lang="en"> +<head> +<!-- Generated by javadoc --> +<title>ExtendableAccessor (Java AMQP Protocol Engine API)</title> +<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> +<script type="text/javascript" src="../../../../../script.js"></script> +</head> +<body> +<script type="text/javascript"><!-- + try { + if (location.href.indexOf('is-external=true') == -1) { + parent.document.title="ExtendableAccessor (Java AMQP Protocol Engine API)"; + } + } + catch(err) { + } +//--> +var methods = {"i0":10,"i1":10}; +var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; +var altColor = "altColor"; +var rowColor = "rowColor"; +var tableTab = "tableTab"; +var activeTableTab = "activeTableTab"; +</script> +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<!-- ========= START OF TOP NAVBAR ======= --> +<div class="topNav"><a name="navbar.top"> +<!-- --> +</a> +<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> +<a name="navbar.top.firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../../../index-all.html">Index</a></li> +<li><a href="../../../../../help-doc.html">Help</a></li> +</ul> +</div> +<div class="subNav"> +<ul class="navList"> +<li><a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/qpid/proton/engine/Handler.html" title="interface in org.apache.qpid.proton.engine"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/qpid/proton/engine/ExtendableAccessor.html" target="_top">Frames</a></li> +<li><a href="ExtendableAccessor.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_top"> +<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_top"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li>Field | </li> +<li><a href="#constructor.summary">Constr</a> | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#constructor.detail">Constr</a> | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.top"> +<!-- --> +</a></div> +<!-- ========= END OF TOP NAVBAR ========= --> +<!-- ======== START OF CLASS DATA ======== --> +<div class="header"> +<div class="subTitle">org.apache.qpid.proton.engine</div> +<h2 title="Class ExtendableAccessor" class="title">Class ExtendableAccessor<E extends <a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine">Extendable</a>,T></h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li>java.lang.Object</li> +<li> +<ul class="inheritance"> +<li>org.apache.qpid.proton.engine.ExtendableAccessor<E,T></li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<dl> +<dt><span class="paramLabel">Type Parameters:</span></dt> +<dd><code>E</code> - An <a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine"><code>Extendable</code></a> type where the data is to be stored</dd> +<dd><code>T</code> - The type of the data to be stored</dd> +</dl> +<hr> +<br> +<pre>public final class <span class="typeNameLabel">ExtendableAccessor<E extends <a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine">Extendable</a>,T></span> +extends java.lang.Object</pre> +<div class="block">A typesafe convenience class for associating additional data with <a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine"><code>Extendable</code></a> classes. + <p> + An instance of <code>ExtendableAccessor</code> uses itself as the key in the <a href="../../../../../org/apache/qpid/proton/engine/Extendable.html#attachments--"><code>Extendable.attachments()</code></a> + so it's best instantiated as a static final member. + <pre><code> + class Foo extends BaseHandler { + private static ExtendableAccessor<Link, Bar> LINK_BAR = new ExtendableAccessor<>(Bar.class); + void onLinkRemoteOpen(Event e) { + Bar bar = LINK_BAR.get(e.getLink()); + if (bar == null) { + bar = new Bar(); + LINK_BAR.set(e.getLink(), bar); + } + } + } + </code></pre></div> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- ======== CONSTRUCTOR SUMMARY ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor.summary"> +<!-- --> +</a> +<h3>Constructor Summary</h3> +<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> +<caption><span>Constructors</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colOne" scope="col">Constructor and Description</th> +</tr> +<tr class="altColor"> +<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html#ExtendableAccessor-java.lang.Class-">ExtendableAccessor</a></span>(java.lang.Class<<a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">T</a>> klass)</code> </td> +</tr> +</table> +</li> +</ul> +<!-- ========== METHOD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.summary"> +<!-- --> +</a> +<h3>Method Summary</h3> +<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> +<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Method and Description</th> +</tr> +<tr id="i0" class="altColor"> +<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">T</a></code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html#get-E-">get</a></span>(<a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">E</a> e)</code> </td> +</tr> +<tr id="i1" class="rowColor"> +<td class="colFirst"><code>void</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html#set-E-T-">set</a></span>(<a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">E</a> e, + <a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">T</a> value)</code> </td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> +<!-- --> +</a> +<h3>Methods inherited from class java.lang.Object</h3> +<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +<div class="details"> +<ul class="blockList"> +<li class="blockList"> +<!-- ========= CONSTRUCTOR DETAIL ======== --> +<ul class="blockList"> +<li class="blockList"><a name="constructor.detail"> +<!-- --> +</a> +<h3>Constructor Detail</h3> +<a name="ExtendableAccessor-java.lang.Class-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>ExtendableAccessor</h4> +<pre>public ExtendableAccessor(java.lang.Class<<a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">T</a>> klass)</pre> +</li> +</ul> +</li> +</ul> +<!-- ============ METHOD DETAIL ========== --> +<ul class="blockList"> +<li class="blockList"><a name="method.detail"> +<!-- --> +</a> +<h3>Method Detail</h3> +<a name="get-org.apache.qpid.proton.engine.Extendable-"> +<!-- --> +</a><a name="get-E-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>get</h4> +<pre>public <a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">T</a> get(<a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">E</a> e)</pre> +</li> +</ul> +<a name="set-org.apache.qpid.proton.engine.Extendable-java.lang.Object-"> +<!-- --> +</a><a name="set-E-T-"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>set</h4> +<pre>public void set(<a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">E</a> e, + <a href="../../../../../org/apache/qpid/proton/engine/ExtendableAccessor.html" title="type parameter in ExtendableAccessor">T</a> value)</pre> +</li> +</ul> +</li> +</ul> +</li> +</ul> +</div> +</div> +<!-- ========= END OF CLASS DATA ========= --> +<!-- ======= START OF BOTTOM NAVBAR ====== --> +<div class="bottomNav"><a name="navbar.bottom"> +<!-- --> +</a> +<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> +<a name="navbar.bottom.firstrow"> +<!-- --> +</a> +<ul class="navList" title="Navigation"> +<li><a href="../../../../../overview-summary.html">Overview</a></li> +<li><a href="package-summary.html">Package</a></li> +<li class="navBarCell1Rev">Class</li> +<li><a href="package-tree.html">Tree</a></li> +<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> +<li><a href="../../../../../index-all.html">Index</a></li> +<li><a href="../../../../../help-doc.html">Help</a></li> +</ul> +</div> +<div class="subNav"> +<ul class="navList"> +<li><a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine"><span class="typeNameLink">Prev Class</span></a></li> +<li><a href="../../../../../org/apache/qpid/proton/engine/Handler.html" title="interface in org.apache.qpid.proton.engine"><span class="typeNameLink">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../index.html?org/apache/qpid/proton/engine/ExtendableAccessor.html" target="_top">Frames</a></li> +<li><a href="ExtendableAccessor.html" target="_top">No Frames</a></li> +</ul> +<ul class="navList" id="allclasses_navbar_bottom"> +<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> +</ul> +<div> +<script type="text/javascript"><!-- + allClassesLink = document.getElementById("allclasses_navbar_bottom"); + if(window==top) { + allClassesLink.style.display = "block"; + } + else { + allClassesLink.style.display = "none"; + } + //--> +</script> +</div> +<div> +<ul class="subNavList"> +<li>Summary: </li> +<li>Nested | </li> +<li>Field | </li> +<li><a href="#constructor.summary">Constr</a> | </li> +<li><a href="#method.summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#constructor.detail">Constr</a> | </li> +<li><a href="#method.detail">Method</a></li> +</ul> +</div> +<a name="skip.navbar.bottom"> +<!-- --> +</a></div> +<!-- ======== END OF BOTTOM NAVBAR ======= --> +</body> +</html> Propchange: qpid/site/docs/releases/qpid-proton-master/proton/java/api/org/apache/qpid/proton/engine/ExtendableAccessor.html ------------------------------------------------------------------------------ svn:executable = * Added: qpid/site/docs/releases/qpid-proton-master/proton/python/api/proton.EventType-class.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/python/api/proton.EventType-class.html?rev=1705923&view=auto ============================================================================== Binary file - no diff available. Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/api/proton.EventType-class.html ------------------------------------------------------------------------------ svn:executable = * Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/api/proton.EventType-class.html ------------------------------------------------------------------------------ svn:mime-type = application/xml Added: qpid/site/docs/releases/qpid-proton-master/proton/python/api/uml_class_diagram_for_proton_e_3.png URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/python/api/uml_class_diagram_for_proton_e_3.png?rev=1705923&view=auto ============================================================================== Binary file - no diff available. Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/api/uml_class_diagram_for_proton_e_3.png ------------------------------------------------------------------------------ svn:executable = * Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/api/uml_class_diagram_for_proton_e_3.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: qpid/site/docs/releases/qpid-proton-master/proton/python/book/.buildinfo URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/python/book/.buildinfo?rev=1705923&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/python/book/.buildinfo (added) +++ qpid/site/docs/releases/qpid-proton-master/proton/python/book/.buildinfo Tue Sep 29 20:27:56 2015 @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: b7c6c5e39e824de995733c5a6e1a6cfa +tags: 645f666f9bcd5a90fca523b33c5a78b7 Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/book/.buildinfo ------------------------------------------------------------------------------ svn:executable = * Added: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/index.txt URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/index.txt?rev=1705923&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/index.txt (added) +++ qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/index.txt Tue Sep 29 20:27:56 2015 @@ -0,0 +1,11 @@ +Apache Qpid Proton: python documentation +======================================== + +Contents: + +.. toctree:: + :maxdepth: 2 + + tutorial + overview + Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/index.txt ------------------------------------------------------------------------------ svn:executable = * Added: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/overview.txt URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/overview.txt?rev=1705923&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/overview.txt (added) +++ qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/overview.txt Tue Sep 29 20:27:56 2015 @@ -0,0 +1,160 @@ +############ +API Overview +############ + +========================= +An overview of the model +========================= + +Messages are transferred between connected peers over 'links'. At the +sending peer the link is called a sender. At the receiving peer it is +called a receiver. Messages are sent by senders and received by +receivers. Links may have named 'source' and 'target' addresses (for +example to identify the queue from which message were to be received +or to which they were to be sent). + +Links are established over sessions. Sessions are established over +connections. Connections are (generally) established between two +uniquely identified containers. Though a connection can have multiple +sessions, often this is not needed. The container API allows you to +ignore sessions unless you actually require them. + +The sending of a message over a link is called a delivery. The message +is the content sent, including all meta-data such as headers and +annotations. The delivery is the protocol exchange associated with the +transfer of that content. + +To indicate that a delivery is complete, either the sender or the +receiver 'settles' it. When the other side learns that it has been +settled, they will no longer communicate about that delivery. The +receiver can also indicate whether they accept or reject the +message. + +Three different delivery levels or 'guarantees' can be achieved: +at-most-once, at-least-once or exactly-once. See +:ref:`delivery-guarantees` for more detail. + +======================================================= +A summary of the most commonly used classes and members +======================================================= + +A brief summary of some of the key classes follows. + +The :py:class:`~proton.reactor.Container` class is a convenient entry +point into the API, allowing connections and links to be +established. Applications are structured as one or more event +handlers. Handlers can be set at Container, Connection, or Link +scope. Messages are sent by establishing an approprate sender and +invoking its :py:meth:`~proton.Sender.send()` method. This is +typically done when the sender is sendable, a condition indicated by +the :py:meth:`~proton.handlers.MessagingHandler.on_sendable()` event, to +avoid execessive build up of messages. Messages can be received by +establishing an appropriate receiver and handling the +:py:meth:`~proton.handlers.MessagingHandler.on_message()` event. + +.. autoclass:: proton.reactor.Container + :show-inheritance: proton.reactor.Reactor + :members: connect, create_receiver, create_sender, run, schedule + :undoc-members: + + .. py:attribute:: container_id + + The identifier used to identify this container in any + connections it establishes. Container names should be + unique. By default a UUID will be used. + + The :py:meth:`~proton.reactor.Container.connect()` method returns + an instance of :py:class:`~proton.Connection`, the + :py:meth:`~proton.reactor.Container.create_receiver()` method + returns an instance of :py:class:`~proton.Receiver` and the + :py:meth:`~proton.reactor.Container.create_sender()` method + returns an instance of :py:class:`~proton.Sender`. + +.. autoclass:: proton.Connection + :members: open, close, state, session, hostname, container, + remote_container, remote_desired_capabilities, remote_hostname, remote_offered_capabilities , remote_properties + :undoc-members: + +.. autoclass:: proton.Receiver + :show-inheritance: proton.Link + :members: flow, recv, drain, draining + :undoc-members: + +.. autoclass:: proton.Sender + :show-inheritance: proton.Link + :members: offered, send + :undoc-members: + +.. autoclass:: proton.Link + :members: name, state, is_sender, is_receiver, + credit, queued, session, connection, + source, target, remote_source, remote_target + :undoc-members: + + The :py:meth:`~proton.Link.source()`, + :py:meth:`~proton.Link.target()`, + :py:meth:`~proton.Link.remote_source()` and + :py:meth:`~proton.Link.remote_target()` methods all return an + instance of :py:class:`~proton.Terminus`. + + +.. autoclass:: proton.Delivery + :members: update, settle, settled, remote_state, local_state, partial, readable, writable, + link, session, connection + :undoc-members: + +.. autoclass:: proton.handlers.MessagingHandler + :members: on_start, on_reactor_init, + on_message, + on_accepted, + on_rejected, + on_settled, + on_sendable, + on_connection_error, + on_link_error, + on_session_error, + on_disconnected, + accept, reject, release, settle + :undoc-members: + +.. autoclass:: proton.Event + :members: delivery, link, receiver, sender, session, connection, reactor, context + :undoc-members: + +.. autoclass:: proton.Message + :members: address, id, priority, subject, ttl, reply_to, correlation_id, durable, user_id, + content_type, content_encoding, creation_time, expiry_time, delivery_count, first_acquirer, + group_id, group_sequence, reply_to_group_id, + send, recv, encode, decode + :undoc-members: + +.. autoclass:: proton.Terminus + :members: address, dynamic, properties, capabilities, filter + :undoc-members: + +.. _delivery-guarantees: + +=================== +Delivery guarantees +=================== + +For at-most-once, the sender settles the message as soon as it sends +it. If the connection is lost before the message is received by the +receiver, the message will not be delivered. + +For at-least-once, the receiver accepts and settles the message on +receipt. If the connection is lost before the sender is informed of +the settlement, then the delivery is considered in-doubt and should be +retried. This will ensure it eventually gets delivered (provided of +course the connection and link can be reestablished). It may mean that +it is delivered multiple times though. + +Finally, for exactly-once, the receiver accepts the message but +doesn't settle it. The sender settles once it is aware that the +receiver accepted it. In this way the receiver retains knowledge of an +accepted message until it is sure the sender knows it has been +accepted. If the connection is lost before settlement, the receiver +informs the sender of all the unsettled deliveries it knows about, and +from this the sender can deduce which need to be redelivered. The +sender likewise informs the receiver which deliveries it knows about, +from which the receiver can deduce which have already been settled. Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/overview.txt ------------------------------------------------------------------------------ svn:executable = * Added: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/tutorial.txt URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/tutorial.txt?rev=1705923&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/tutorial.txt (added) +++ qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/tutorial.txt Tue Sep 29 20:27:56 2015 @@ -0,0 +1,301 @@ +######## +Tutorial +######## + +============ +Hello World! +============ + +Tradition dictates that we start with hello world! However rather than +simply striving for the shortest program possible, we'll aim for a +more illustrative example while still restricting the functionality to +sending and receiving a single message. + +.. literalinclude:: ../../../../examples/python/helloworld.py + :lines: 21- + :linenos: + +You can see the import of :py:class:`~proton.reactor.Container` from ``proton.reactor`` on the +second line. This is a class that makes programming with proton a +little easier for the common cases. It includes within it an event +loop, and programs written using this utility are generally structured +to react to various events. This reactive style is particularly suited +to messaging applications. + +To be notified of a particular event, you define a class with the +appropriately name method on it. That method is then called by the +event loop when the event occurs. + +We define a class here, ``HelloWorld``, which handles the key events of +interest in sending and receiving a message. + +The ``on_start()`` method is called when the event loop first +starts. We handle that by establishing our connection (line 12), a +sender over which to send the message (line 13) and a receiver over +which to receive it back again (line 14). + +The ``on_sendable()`` method is called when message can be transferred +over the associated sender link to the remote peer. We send out our +``Hello World!`` message (line 17), then close the sender (line 18) as +we only want to send one message. The closing of the sender will +prevent further calls to ``on_sendable()``. + +The ``on_message()`` method is called when a message is +received. Within that we simply print the body of the message (line +21) and then close the connection (line 22). + +Now that we have defined the logic for handling these events, we +create an instance of a :py:class:`~proton.reactor.Container`, pass it +our handler and then enter the event loop by calling +:py:meth:`~proton.reactor.Container.run()`. At this point control +passes to the container instance, which will make the appropriate +callbacks to any defined handlers. + +To run the example you will need to have a broker (or similar) +accepting connections on that url either with a queue (or topic) +matching the given address or else configured to create such a queue +(or topic) dynamically. There is a simple broker.py script included +alongside the examples that can be used for this purpose if +desired. (It is also written using the API described here, and as such +gives an example of a slightly more involved application). + +==================== +Hello World, Direct! +==================== + +Though often used in conjunction with a broker, AMQP does not +*require* this. It also allows senders and receivers can communicate +directly if desired. + +Let's modify our example to demonstrate this. + +.. literalinclude:: ../../../../examples/python/helloworld_direct.py + :lines: 21- + :emphasize-lines: 11,21-22,24-25 + :linenos: + +The first difference, on line 11, is that rather than creating a +receiver on the same connection as our sender, we listen for incoming +connections by invoking the +:py:meth:`~proton.reactor.Container.listen()` method on the +container. + +As we only need then to initiate one link, the sender, we can do that +by passing in a url rather than an existing connection, and the +connection will also be automatically established for us. + +We send the message in response to the ``on_sendable()`` callback and +print the message out in response to the ``on_message()`` callback +exactly as before. + +However we also handle two new events. We now close the connection +from the senders side once the message has been accepted (line +22). The acceptance of the message is an indication of successful +transfer to the peer. We are notified of that event through the +``on_accepted()`` callback. Then, once the connection has been closed, +of which we are notified through the ``on_closed()`` callback, we stop +accepting incoming connections (line 25) at which point there is no +work to be done and the event loop exits, and the run() method will +return. + +So now we have our example working without a broker involved! + +============================= +Asynchronous Send and Receive +============================= + +Of course, these ``HelloWorld!`` examples are very artificial, +communicating as they do over a network connection but with the same +process. A more realistic example involves communication between +separate processes (which could indeed be running on completely +separate machines). + +Let's separate the sender from the receiver, and let's transfer more than +a single message between them. + +We'll start with a simple sender. + +.. literalinclude:: ../../../../examples/python/simple_send.py + :lines: 21- + :linenos: + +As with the previous example, we define the application logic in a +class that handles various events. As before, we use the +``on_start()`` event to establish our sender link over which we will +transfer messages and the ``on_sendable()`` event to know when we can +transfer our messages. + +Because we are transferring more than one message, we need to keep +track of how many we have sent. We'll use a ``sent`` member variable +for that. The ``total`` member variable will hold the number of +messages we want to send. + +AMQP defines a credit-based flow control mechanism. Flow control +allows the receiver to control how many messages it is prepared to +receive at a given time and thus prevents any component being +overwhelmed by the number of messages it is sent. + +In the ``on_sendable()`` callback, we check that our sender has credit +before sending messages. We also check that we haven't already sent +the required number of messages. + +The ``send()`` call on line 20 is of course asynchronous. When it +returns the message has not yet actually been transferred across the +network to the receiver. By handling the ``on_accepted()`` event, we +can get notified when the receiver has received and accepted the +message. In our example we use this event to track the confirmation of +the messages we have sent. We only close the connection and exit when +the receiver has received all the messages we wanted to send. + +If we are disconnected after a message is sent and before it has been +confirmed by the receiver, it is said to be ``in doubt``. We don't +know whether or not it was received. In this example, we will handle +that by resending any in-doubt messages. This is known as an +'at-least-once' guarantee, since each message should eventually be +received at least once, though a given message may be received more +than once (i.e. duplicates are possible). In the ``on_disconnected()`` +callback, we reset the sent count to reflect only those that have been +confirmed. The library will automatically try to reconnect for us, and +when our sender is sendable again, we can restart from the point we +know the receiver got to. + +Now let's look at the corresponding receiver: + +.. literalinclude:: ../../../../examples/python/simple_recv.py + :lines: 21- + :linenos: + +Here we handle the ``on_start()`` by creating our receiver, much like +we did for the sender. We also handle the ``on_message()`` event for +received messages and print the message out as in the ``Hello World!`` +examples. However we add some logic to allow the receiver to wait for +a given number of messages, then to close the connection and exit. We +also add some logic to check for and ignore duplicates, using a simple +sequential id scheme. + +Again, though sending between these two examples requires some sort of +intermediary process (e.g. a broker), AMQP allows us to send messages +directly between two processes without this if we so wish. In that +case one or other of the processes needs to accept incoming socket +connections. Let's create a modified version of the receiving example +that does this: + +.. literalinclude:: ../../../../examples/python/direct_recv.py + :lines: 21- + :emphasize-lines: 13,25 + :linenos: + +There are only two differences here. On line 13, instead of initiating +a link (and implicitly a connection), we listen for incoming +connections. On line 25, when we have received all the expected +messages, we then stop listening for incoming connections by closing +the acceptor object. + +You can use the original send example now to send to this receiver +directly. (Note: you will need to stop any broker that is listening on +the 5672 port, or else change the port used by specifying a different +address to each example via the -a command line switch). + +We could equally well modify the original sender to allow the original +receiver to connect to it. Again that just requires two modifications: + +.. literalinclude:: ../../../../examples/python/direct_send.py + :lines: 21- + :emphasize-lines: 15,28 + :linenos: + +As with the modified receiver, instead of initiating establishment of +a link, we listen for incoming connections on line 15 and then on line +28, when we have received confirmation of all the messages we sent, we +can close the acceptor in order to exit. The symmetry in the +underlying AMQP that enables this is quite unique and elegant, and in +reflecting this the proton API provides a flexible toolkit for +implementing all sorts of interesting intermediaries (the broker.py +script provided as a simple broker for testing purposes provides an +example of this). + +To try this modified sender, run the original receiver against it. + +================ +Request/Response +================ + +A common pattern is to send a request message and expect a response +message in return. AMQP has special support for this pattern. Let's +have a look at a simple example. We'll start with the 'server', +i.e. the program that will process the request and send the +response. Note that we are still using a broker in this example. + +Our server will provide a very simple service: it will respond with +the body of the request converted to uppercase. + +.. literalinclude:: ../../../../examples/python/server.py + :lines: 21- + :linenos: + +The code here is not too different from the simple receiver +example. When we receive a request however, we look at the +:py:attr:`~proton.Message.reply_to` address on the +:py:class:`~proton.Message` and create a sender for that over which to +send the response. We'll cache the senders incase we get further +requests with the same reply_to. + +Now let's create a simple client to test this service out. + +.. literalinclude:: ../../../../examples/python/client.py + :lines: 21- + :linenos: + +As well as sending requests, we need to be able to get back the +responses. We create a receiver for that (see line 14), but we don't +specify an address, we set the dynamic option which tells the broker +we are connected to to create a temporary address over which we can +receive our responses. + +We need to use the address allocated by the broker as the reply_to +address of our requests, so we can't send them until the broker has +confirmed our receiving link has been set up (at which point we will +have our allocated address). To do that, we add an +``on_link_opened()`` method to our handler class, and if the link +associated with event is the receiver, we use that as the trigger to +send our first request. + +Again, we could avoid having any intermediary process here if we +wished. The following code implementas a server to which the client +above could connect directly without any need for a broker or similar. + +.. literalinclude:: ../../../../examples/python/server_direct.py + :lines: 21- + :linenos: + +Though this requires some more extensive changes than the simple +sending and receiving examples, the essence of the program is still +the same. Here though, rather than the server establishing a link for +the response, it relies on the link that the client established, since +that now comes in directly to the server process. + +Miscellaneous +============= + +Many brokers offer the ability to consume messages based on a +'selector' that defines which messages are of interest based on +particular values of the headers. The following example shows how that +can be achieved: + +.. literalinclude:: ../../../../examples/python/selected_recv.py + :lines: 21- + :emphasize-lines: 10 + :linenos: + +When creating the receiver, we specify a Selector object as an +option. The options argument can take a single object or a +list. Another option that is sometimes of interest when using a broker +is the ability to 'browse' the messages on a queue, rather than +consumig them. This is done in AMQP by specifying a distribution mode +of 'copy' (instead of 'move' which is the expected default for +queues). An example of that is shown next: + +.. literalinclude:: ../../../../examples/python/queue_browser.py + :lines: 21- + :emphasize-lines: 10 + :linenos: Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_sources/tutorial.txt ------------------------------------------------------------------------------ svn:executable = * Added: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_static/ajax-loader.gif URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-proton-master/proton/python/book/_static/ajax-loader.gif?rev=1705923&view=auto ============================================================================== Binary file - no diff available. Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_static/ajax-loader.gif ------------------------------------------------------------------------------ svn:executable = * Propchange: qpid/site/docs/releases/qpid-proton-master/proton/python/book/_static/ajax-loader.gif ------------------------------------------------------------------------------ svn:mime-type = image/gif --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
