Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_ctrl.py.html.in
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_ctrl.py.html.in?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_ctrl.py.html.in
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_ctrl.py.html.in
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,32 @@
+
+<h1>db_ctrl.py</h1>
+<div class="highlight"><pre><span class="kn">from</span> <span 
class="nn">__future__</span> <span class="kn">import</span> <span 
class="n">print_function</span>
+<span class="kn">import</span> <span class="nn">sqlite3</span>
+<span class="kn">import</span> <span class="nn">sys</span>
+
+<span class="k">if</span> <span class="nb">len</span><span 
class="p">(</span><span class="n">sys</span><span class="o">.</span><span 
class="n">argv</span><span class="p">)</span> <span class="o">&lt;</span> <span 
class="mi">3</span><span class="p">:</span>
+    <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;Usage: </span><span class="si">%s</span><span class="s"> 
[init|insert|list] db&quot;</span> <span class="o">%</span> <span 
class="n">sys</span><span class="o">.</span><span class="n">argv</span><span 
class="p">[</span><span class="mi">0</span><span class="p">])</span>
+<span class="k">else</span><span class="p">:</span>
+    <span class="n">conn</span> <span class="o">=</span> <span 
class="n">sqlite3</span><span class="o">.</span><span 
class="n">connect</span><span class="p">(</span><span class="n">sys</span><span 
class="o">.</span><span class="n">argv</span><span class="p">[</span><span 
class="mi">2</span><span class="p">])</span>
+    <span class="k">with</span> <span class="n">conn</span><span 
class="p">:</span>
+        <span class="k">if</span> <span class="n">sys</span><span 
class="o">.</span><span class="n">argv</span><span class="p">[</span><span 
class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span 
class="s">&quot;init&quot;</span><span class="p">:</span>
+            <span class="n">conn</span><span class="o">.</span><span 
class="n">execute</span><span class="p">(</span><span class="s">&quot;DROP 
TABLE IF EXISTS records&quot;</span><span class="p">)</span>
+            <span class="n">conn</span><span class="o">.</span><span 
class="n">execute</span><span class="p">(</span><span class="s">&quot;CREATE 
TABLE records(id INTEGER PRIMARY KEY AUTOINCREMENT, description 
TEXT)&quot;</span><span class="p">)</span>
+            <span class="n">conn</span><span class="o">.</span><span 
class="n">commit</span><span class="p">()</span>
+        <span class="k">elif</span> <span class="n">sys</span><span 
class="o">.</span><span class="n">argv</span><span class="p">[</span><span 
class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span 
class="s">&quot;list&quot;</span><span class="p">:</span>
+            <span class="n">cursor</span> <span class="o">=</span> <span 
class="n">conn</span><span class="o">.</span><span class="n">cursor</span><span 
class="p">()</span>
+            <span class="n">cursor</span><span class="o">.</span><span 
class="n">execute</span><span class="p">(</span><span class="s">&quot;SELECT * 
FROM records&quot;</span><span class="p">)</span>
+            <span class="n">rows</span> <span class="o">=</span> <span 
class="n">cursor</span><span class="o">.</span><span 
class="n">fetchall</span><span class="p">()</span>
+            <span class="k">for</span> <span class="n">r</span> <span 
class="ow">in</span> <span class="n">rows</span><span class="p">:</span>
+                <span class="k">print</span><span class="p">(</span><span 
class="n">r</span><span class="p">)</span>
+        <span class="k">elif</span> <span class="n">sys</span><span 
class="o">.</span><span class="n">argv</span><span class="p">[</span><span 
class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span 
class="s">&quot;insert&quot;</span><span class="p">:</span>
+            <span class="k">while</span> <span class="bp">True</span><span 
class="p">:</span>
+                <span class="n">l</span> <span class="o">=</span> <span 
class="n">sys</span><span class="o">.</span><span class="n">stdin</span><span 
class="o">.</span><span class="n">readline</span><span class="p">()</span>
+                <span class="k">if</span> <span class="ow">not</span> <span 
class="n">l</span><span class="p">:</span> <span class="k">break</span>
+                <span class="n">conn</span><span class="o">.</span><span 
class="n">execute</span><span class="p">(</span><span class="s">&quot;INSERT 
INTO records(description) VALUES (?)&quot;</span><span class="p">,</span> <span 
class="p">(</span><span class="n">l</span><span class="o">.</span><span 
class="n">rstrip</span><span class="p">(),))</span>
+            <span class="n">conn</span><span class="o">.</span><span 
class="n">commit</span><span class="p">()</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;Unrecognised command: </span><span class="si">%s</span><span 
class="s">&quot;</span> <span class="o">%</span>  <span 
class="n">sys</span><span class="o">.</span><span class="n">argv</span><span 
class="p">[</span><span class="mi">1</span><span class="p">])</span>
+</pre></div>
+
+<p><a href="db_ctrl.py">Download this file</a></p>

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py 
(added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py 
Tue Sep 29 20:27:56 2015
@@ -0,0 +1,80 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+from __future__ import print_function
+import optparse
+from proton.handlers import MessagingHandler
+from proton.reactor import ApplicationEvent, Container, EventInjector
+from db_common import Db
+
+class Recv(MessagingHandler):
+    def __init__(self, url, count):
+        super(Recv, self).__init__(auto_accept=False)
+        self.url = url
+        self.delay = 0
+        self.last_id = None
+        self.expected = count
+        self.received = 0
+        self.accepted = 0
+        self.db = Db("dst_db", EventInjector())
+
+    def on_start(self, event):
+        event.container.selectable(self.db.injector)
+        e = ApplicationEvent("id_loaded")
+        e.container = event.container
+        self.db.get_id(e)
+
+    def on_id_loaded(self, event):
+        self.last_id = event.id
+        event.container.create_receiver(self.url)
+
+    def on_record_inserted(self, event):
+        self.accept(event.delivery)
+        self.accepted += 1
+        if self.accepted == self.expected:
+            event.connection.close()
+            self.db.close()
+
+    def on_message(self, event):
+        id = int(event.message.id)
+        if (not self.last_id) or id > self.last_id:
+            if self.received < self.expected:
+                self.received += 1
+                self.last_id = id
+                self.db.insert(id, event.message.body, 
ApplicationEvent("record_inserted", delivery=event.delivery))
+                print("inserted message %s" % id)
+            else:
+                self.release(event.delivery)
+        else:
+            self.accept(event.delivery)
+
+parser = optparse.OptionParser(usage="usage: %prog [options]")
+parser.add_option("-a", "--address", default="localhost:5672/examples",
+                  help="address from which messages are received (default 
%default)")
+parser.add_option("-m", "--messages", type="int", default=0,
+                  help="number of messages to receive; 0 receives indefinitely 
(default %default)")
+opts, args = parser.parse_args()
+
+try:
+    Container(Recv(opts.address, opts.messages)).run()
+except KeyboardInterrupt: pass
+
+
+

Propchange: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py
------------------------------------------------------------------------------
    svn:executable = *

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py.html.in
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py.html.in?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py.html.in
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_recv.py.html.in
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,62 @@
+
+<h1>db_recv.py</h1>
+<div class="highlight"><pre><span class="kn">from</span> <span 
class="nn">__future__</span> <span class="kn">import</span> <span 
class="n">print_function</span>
+<span class="kn">import</span> <span class="nn">optparse</span>
+<span class="kn">from</span> <span class="nn">proton.handlers</span> <span 
class="kn">import</span> <span class="n">MessagingHandler</span>
+<span class="kn">from</span> <span class="nn">proton.reactor</span> <span 
class="kn">import</span> <span class="n">ApplicationEvent</span><span 
class="p">,</span> <span class="n">Container</span><span class="p">,</span> 
<span class="n">EventInjector</span>
+<span class="kn">from</span> <span class="nn">db_common</span> <span 
class="kn">import</span> <span class="n">Db</span>
+
+<span class="k">class</span> <span class="nc">Recv</span><span 
class="p">(</span><span class="n">MessagingHandler</span><span 
class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">url</span><span class="p">,</span> <span class="n">count</span><span 
class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span 
class="n">Recv</span><span class="p">,</span> <span class="bp">self</span><span 
class="p">)</span><span class="o">.</span><span class="n">__init__</span><span 
class="p">(</span><span class="n">auto_accept</span><span 
class="o">=</span><span class="bp">False</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">url</span> <span class="o">=</span> <span class="n">url</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">delay</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">last_id</span> <span class="o">=</span> <span class="bp">None</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">expected</span> <span class="o">=</span> <span class="n">count</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">received</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">accepted</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span> <span class="o">=</span> <span class="n">Db</span><span 
class="p">(</span><span class="s">&quot;dst_db&quot;</span><span 
class="p">,</span> <span class="n">EventInjector</span><span 
class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">on_start</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">selectable</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">db</span><span 
class="o">.</span><span class="n">injector</span><span class="p">)</span>
+        <span class="n">e</span> <span class="o">=</span> <span 
class="n">ApplicationEvent</span><span class="p">(</span><span 
class="s">&quot;id_loaded&quot;</span><span class="p">)</span>
+        <span class="n">e</span><span class="o">.</span><span 
class="n">container</span> <span class="o">=</span> <span 
class="n">event</span><span class="o">.</span><span class="n">container</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span><span class="o">.</span><span class="n">get_id</span><span 
class="p">(</span><span class="n">e</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_id_loaded</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">last_id</span> <span class="o">=</span> <span 
class="n">event</span><span class="o">.</span><span class="n">id</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">create_receiver</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">url</span><span 
class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_record_inserted</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">accept</span><span class="p">(</span><span 
class="n">event</span><span class="o">.</span><span 
class="n">delivery</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">accepted</span> <span class="o">+=</span> <span class="mi">1</span>
+        <span class="k">if</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">accepted</span> <span class="o">==</span> 
<span class="bp">self</span><span class="o">.</span><span 
class="n">expected</span><span class="p">:</span>
+            <span class="n">event</span><span class="o">.</span><span 
class="n">connection</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span><span class="o">.</span><span class="n">close</span><span 
class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">on_message</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="nb">id</span> <span class="o">=</span> <span 
class="nb">int</span><span class="p">(</span><span class="n">event</span><span 
class="o">.</span><span class="n">message</span><span class="o">.</span><span 
class="n">id</span><span class="p">)</span>
+        <span class="k">if</span> <span class="p">(</span><span 
class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span 
class="n">last_id</span><span class="p">)</span> <span class="ow">or</span> 
<span class="nb">id</span> <span class="o">&gt;</span> <span 
class="bp">self</span><span class="o">.</span><span 
class="n">last_id</span><span class="p">:</span>
+            <span class="k">if</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">received</span> <span class="o">&lt;</span> 
<span class="bp">self</span><span class="o">.</span><span 
class="n">expected</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span 
class="n">received</span> <span class="o">+=</span> <span class="mi">1</span>
+                <span class="bp">self</span><span class="o">.</span><span 
class="n">last_id</span> <span class="o">=</span> <span class="nb">id</span>
+                <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span><span class="o">.</span><span class="n">insert</span><span 
class="p">(</span><span class="nb">id</span><span class="p">,</span> <span 
class="n">event</span><span class="o">.</span><span 
class="n">message</span><span class="o">.</span><span 
class="n">body</span><span class="p">,</span> <span 
class="n">ApplicationEvent</span><span class="p">(</span><span 
class="s">&quot;record_inserted&quot;</span><span class="p">,</span> <span 
class="n">delivery</span><span class="o">=</span><span 
class="n">event</span><span class="o">.</span><span 
class="n">delivery</span><span class="p">))</span>
+                <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;inserted message </span><span class="si">%s</span><span 
class="s">&quot;</span> <span class="o">%</span> <span 
class="nb">id</span><span class="p">)</span>
+            <span class="k">else</span><span class="p">:</span>
+                <span class="bp">self</span><span class="o">.</span><span 
class="n">release</span><span class="p">(</span><span 
class="n">event</span><span class="o">.</span><span 
class="n">delivery</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">accept</span><span class="p">(</span><span 
class="n">event</span><span class="o">.</span><span 
class="n">delivery</span><span class="p">)</span>
+
+<span class="n">parser</span> <span class="o">=</span> <span 
class="n">optparse</span><span class="o">.</span><span 
class="n">OptionParser</span><span class="p">(</span><span 
class="n">usage</span><span class="o">=</span><span class="s">&quot;usage: 
%prog [options]&quot;</span><span class="p">)</span>
+<span class="n">parser</span><span class="o">.</span><span 
class="n">add_option</span><span class="p">(</span><span 
class="s">&quot;-a&quot;</span><span class="p">,</span> <span 
class="s">&quot;--address&quot;</span><span class="p">,</span> <span 
class="n">default</span><span class="o">=</span><span 
class="s">&quot;localhost:5672/examples&quot;</span><span class="p">,</span>
+                  <span class="n">help</span><span class="o">=</span><span 
class="s">&quot;address from which messages are received (default </span><span 
class="si">%d</span><span class="s">efault)&quot;</span><span class="p">)</span>
+<span class="n">parser</span><span class="o">.</span><span 
class="n">add_option</span><span class="p">(</span><span 
class="s">&quot;-m&quot;</span><span class="p">,</span> <span 
class="s">&quot;--messages&quot;</span><span class="p">,</span> <span 
class="nb">type</span><span class="o">=</span><span 
class="s">&quot;int&quot;</span><span class="p">,</span> <span 
class="n">default</span><span class="o">=</span><span class="mi">0</span><span 
class="p">,</span>
+                  <span class="n">help</span><span class="o">=</span><span 
class="s">&quot;number of messages to receive; 0 receives indefinitely (default 
</span><span class="si">%d</span><span class="s">efault)&quot;</span><span 
class="p">)</span>
+<span class="n">opts</span><span class="p">,</span> <span 
class="n">args</span> <span class="o">=</span> <span 
class="n">parser</span><span class="o">.</span><span 
class="n">parse_args</span><span class="p">()</span>
+
+<span class="k">try</span><span class="p">:</span>
+    <span class="n">Container</span><span class="p">(</span><span 
class="n">Recv</span><span class="p">(</span><span class="n">opts</span><span 
class="o">.</span><span class="n">address</span><span class="p">,</span> <span 
class="n">opts</span><span class="o">.</span><span 
class="n">messages</span><span class="p">))</span><span class="o">.</span><span 
class="n">run</span><span class="p">()</span>
+<span class="k">except</span> <span class="ne">KeyboardInterrupt</span><span 
class="p">:</span> <span class="k">pass</span>
+</pre></div>
+
+<p><a href="db_recv.py">Download this file</a></p>

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py 
(added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py 
Tue Sep 29 20:27:56 2015
@@ -0,0 +1,111 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+from __future__ import print_function, unicode_literals
+import optparse
+import time
+try:
+    import Queue
+except:
+    import queue as Queue
+
+
+from proton import Message
+from proton.handlers import MessagingHandler
+from proton.reactor import ApplicationEvent, Container, EventInjector
+from db_common import Db
+
+class Send(MessagingHandler):
+    def __init__(self, url, count):
+        super(Send, self).__init__()
+        self.url = url
+        self.delay = 0
+        self.sent = 0
+        self.confirmed = 0
+        self.load_count = 0
+        self.records = Queue.Queue(maxsize=50)
+        self.target = count
+        self.db = Db("src_db", EventInjector())
+
+    def keep_sending(self):
+        return self.target == 0 or self.sent < self.target
+
+    def on_start(self, event):
+        self.container = event.container
+        self.container.selectable(self.db.injector)
+        self.sender = self.container.create_sender(self.url)
+
+    def on_records_loaded(self, event):
+        if self.records.empty():
+            if event.subject == self.load_count:
+                print("Exhausted available data, waiting to recheck...")
+                # check for new data after 5 seconds
+                self.container.schedule(5, self)
+        else:
+            self.send()
+
+    def request_records(self):
+        if not self.records.full():
+            print("loading records...")
+            self.load_count += 1
+            self.db.load(self.records, 
event=ApplicationEvent("records_loaded", link=self.sender, 
subject=self.load_count))
+
+    def on_sendable(self, event):
+        self.send()
+
+    def send(self):
+        while self.sender.credit and not self.records.empty():
+            if not self.keep_sending(): return
+            record = self.records.get(False)
+            id = record['id']
+            self.sender.send(Message(id=id, durable=True, 
body=record['description']), tag=str(id))
+            self.sent += 1
+            print("sent message %s" % id)
+        self.request_records()
+
+    def on_settled(self, event):
+        id = int(event.delivery.tag)
+        self.db.delete(id)
+        print("settled message %s" % id)
+        self.confirmed += 1
+        if self.confirmed == self.target:
+            event.connection.close()
+            self.db.close()
+
+    def on_disconnected(self, event):
+        self.db.reset()
+        self.sent = self.confirmed
+
+    def on_timer_task(self, event):
+        print("Rechecking for data...")
+        self.request_records()
+
+parser = optparse.OptionParser(usage="usage: %prog [options]",
+                               description="Send messages to the supplied 
address.")
+parser.add_option("-a", "--address", default="localhost:5672/examples",
+                  help="address to which messages are sent (default %default)")
+parser.add_option("-m", "--messages", type="int", default=0,
+                  help="number of messages to send; 0 sends indefinitely 
(default %default)")
+opts, args = parser.parse_args()
+
+try:
+    Container(Send(opts.address, opts.messages)).run()
+except KeyboardInterrupt: pass
+

Propchange: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py
------------------------------------------------------------------------------
    svn:executable = *

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py.html.in
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py.html.in?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py.html.in
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/db_send.py.html.in
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,95 @@
+
+<h1>db_send.py</h1>
+<div class="highlight"><pre><span class="kn">from</span> <span 
class="nn">__future__</span> <span class="kn">import</span> <span 
class="n">print_function</span><span class="p">,</span> <span 
class="n">unicode_literals</span>
+<span class="kn">import</span> <span class="nn">optparse</span>
+<span class="kn">import</span> <span class="nn">time</span>
+<span class="k">try</span><span class="p">:</span>
+    <span class="kn">import</span> <span class="nn">Queue</span>
+<span class="k">except</span><span class="p">:</span>
+    <span class="kn">import</span> <span class="nn">queue</span> <span 
class="kn">as</span> <span class="nn">Queue</span>
+
+
+<span class="kn">from</span> <span class="nn">proton</span> <span 
class="kn">import</span> <span class="n">Message</span>
+<span class="kn">from</span> <span class="nn">proton.handlers</span> <span 
class="kn">import</span> <span class="n">MessagingHandler</span>
+<span class="kn">from</span> <span class="nn">proton.reactor</span> <span 
class="kn">import</span> <span class="n">ApplicationEvent</span><span 
class="p">,</span> <span class="n">Container</span><span class="p">,</span> 
<span class="n">EventInjector</span>
+<span class="kn">from</span> <span class="nn">db_common</span> <span 
class="kn">import</span> <span class="n">Db</span>
+
+<span class="k">class</span> <span class="nc">Send</span><span 
class="p">(</span><span class="n">MessagingHandler</span><span 
class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">url</span><span class="p">,</span> <span class="n">count</span><span 
class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span 
class="n">Send</span><span class="p">,</span> <span class="bp">self</span><span 
class="p">)</span><span class="o">.</span><span class="n">__init__</span><span 
class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">url</span> <span class="o">=</span> <span class="n">url</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">delay</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">sent</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">confirmed</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">load_count</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">records</span> <span class="o">=</span> <span 
class="n">Queue</span><span class="o">.</span><span class="n">Queue</span><span 
class="p">(</span><span class="n">maxsize</span><span class="o">=</span><span 
class="mi">50</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">target</span> <span class="o">=</span> <span class="n">count</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span> <span class="o">=</span> <span class="n">Db</span><span 
class="p">(</span><span class="s">&quot;src_db&quot;</span><span 
class="p">,</span> <span class="n">EventInjector</span><span 
class="p">())</span>
+
+    <span class="k">def</span> <span class="nf">keep_sending</span><span 
class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">return</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">target</span> <span class="o">==</span> <span 
class="mi">0</span> <span class="ow">or</span> <span 
class="bp">self</span><span class="o">.</span><span class="n">sent</span> <span 
class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span 
class="n">target</span>
+
+    <span class="k">def</span> <span class="nf">on_start</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">container</span> <span class="o">=</span> <span 
class="n">event</span><span class="o">.</span><span class="n">container</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">selectable</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">db</span><span 
class="o">.</span><span class="n">injector</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">sender</span> <span class="o">=</span> <span 
class="bp">self</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">create_sender</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">url</span><span 
class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_records_loaded</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="k">if</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">records</span><span class="o">.</span><span 
class="n">empty</span><span class="p">():</span>
+            <span class="k">if</span> <span class="n">event</span><span 
class="o">.</span><span class="n">subject</span> <span class="o">==</span> 
<span class="bp">self</span><span class="o">.</span><span 
class="n">load_count</span><span class="p">:</span>
+                <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;Exhausted available data, waiting to 
recheck...&quot;</span><span class="p">)</span>
+                <span class="c"># check for new data after 5 seconds</span>
+                <span class="bp">self</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">schedule</span><span class="p">(</span><span class="mi">5</span><span 
class="p">,</span> <span class="bp">self</span><span class="p">)</span>
+        <span class="k">else</span><span class="p">:</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">send</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">request_records</span><span 
class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">if</span> <span class="ow">not</span> <span 
class="bp">self</span><span class="o">.</span><span 
class="n">records</span><span class="o">.</span><span 
class="n">full</span><span class="p">():</span>
+            <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;loading records...&quot;</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">load_count</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span><span class="o">.</span><span class="n">load</span><span 
class="p">(</span><span class="bp">self</span><span class="o">.</span><span 
class="n">records</span><span class="p">,</span> <span 
class="n">event</span><span class="o">=</span><span 
class="n">ApplicationEvent</span><span class="p">(</span><span 
class="s">&quot;records_loaded&quot;</span><span class="p">,</span> <span 
class="n">link</span><span class="o">=</span><span class="bp">self</span><span 
class="o">.</span><span class="n">sender</span><span class="p">,</span> <span 
class="n">subject</span><span class="o">=</span><span 
class="bp">self</span><span class="o">.</span><span 
class="n">load_count</span><span class="p">))</span>
+
+    <span class="k">def</span> <span class="nf">on_sendable</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">send</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">send</span><span 
class="p">(</span><span class="bp">self</span><span class="p">):</span>
+        <span class="k">while</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">sender</span><span class="o">.</span><span 
class="n">credit</span> <span class="ow">and</span> <span class="ow">not</span> 
<span class="bp">self</span><span class="o">.</span><span 
class="n">records</span><span class="o">.</span><span 
class="n">empty</span><span class="p">():</span>
+            <span class="k">if</span> <span class="ow">not</span> <span 
class="bp">self</span><span class="o">.</span><span 
class="n">keep_sending</span><span class="p">():</span> <span 
class="k">return</span>
+            <span class="n">record</span> <span class="o">=</span> <span 
class="bp">self</span><span class="o">.</span><span 
class="n">records</span><span class="o">.</span><span class="n">get</span><span 
class="p">(</span><span class="bp">False</span><span class="p">)</span>
+            <span class="nb">id</span> <span class="o">=</span> <span 
class="n">record</span><span class="p">[</span><span 
class="s">&#39;id&#39;</span><span class="p">]</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">sender</span><span class="o">.</span><span class="n">send</span><span 
class="p">(</span><span class="n">Message</span><span class="p">(</span><span 
class="nb">id</span><span class="o">=</span><span class="nb">id</span><span 
class="p">,</span> <span class="n">durable</span><span class="o">=</span><span 
class="bp">True</span><span class="p">,</span> <span class="n">body</span><span 
class="o">=</span><span class="n">record</span><span class="p">[</span><span 
class="s">&#39;description&#39;</span><span class="p">]),</span> <span 
class="n">tag</span><span class="o">=</span><span class="nb">str</span><span 
class="p">(</span><span class="nb">id</span><span class="p">))</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">sent</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;sent message </span><span class="si">%s</span><span 
class="s">&quot;</span> <span class="o">%</span> <span 
class="nb">id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">request_records</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">on_settled</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="nb">id</span> <span class="o">=</span> <span 
class="nb">int</span><span class="p">(</span><span class="n">event</span><span 
class="o">.</span><span class="n">delivery</span><span class="o">.</span><span 
class="n">tag</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span><span class="o">.</span><span class="n">delete</span><span 
class="p">(</span><span class="nb">id</span><span class="p">)</span>
+        <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;settled message </span><span class="si">%s</span><span 
class="s">&quot;</span> <span class="o">%</span> <span 
class="nb">id</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">confirmed</span> <span class="o">+=</span> <span class="mi">1</span>
+        <span class="k">if</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">confirmed</span> <span class="o">==</span> 
<span class="bp">self</span><span class="o">.</span><span 
class="n">target</span><span class="p">:</span>
+            <span class="n">event</span><span class="o">.</span><span 
class="n">connection</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span><span class="o">.</span><span class="n">close</span><span 
class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">on_disconnected</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">db</span><span class="o">.</span><span class="n">reset</span><span 
class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">sent</span> <span class="o">=</span> <span 
class="bp">self</span><span class="o">.</span><span class="n">confirmed</span>
+
+    <span class="k">def</span> <span class="nf">on_timer_task</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;Rechecking for data...&quot;</span><span class="p">)</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">request_records</span><span class="p">()</span>
+
+<span class="n">parser</span> <span class="o">=</span> <span 
class="n">optparse</span><span class="o">.</span><span 
class="n">OptionParser</span><span class="p">(</span><span 
class="n">usage</span><span class="o">=</span><span class="s">&quot;usage: 
%prog [options]&quot;</span><span class="p">,</span>
+                               <span class="n">description</span><span 
class="o">=</span><span class="s">&quot;Send messages to the supplied 
address.&quot;</span><span class="p">)</span>
+<span class="n">parser</span><span class="o">.</span><span 
class="n">add_option</span><span class="p">(</span><span 
class="s">&quot;-a&quot;</span><span class="p">,</span> <span 
class="s">&quot;--address&quot;</span><span class="p">,</span> <span 
class="n">default</span><span class="o">=</span><span 
class="s">&quot;localhost:5672/examples&quot;</span><span class="p">,</span>
+                  <span class="n">help</span><span class="o">=</span><span 
class="s">&quot;address to which messages are sent (default </span><span 
class="si">%d</span><span class="s">efault)&quot;</span><span class="p">)</span>
+<span class="n">parser</span><span class="o">.</span><span 
class="n">add_option</span><span class="p">(</span><span 
class="s">&quot;-m&quot;</span><span class="p">,</span> <span 
class="s">&quot;--messages&quot;</span><span class="p">,</span> <span 
class="nb">type</span><span class="o">=</span><span 
class="s">&quot;int&quot;</span><span class="p">,</span> <span 
class="n">default</span><span class="o">=</span><span class="mi">0</span><span 
class="p">,</span>
+                  <span class="n">help</span><span class="o">=</span><span 
class="s">&quot;number of messages to send; 0 sends indefinitely (default 
</span><span class="si">%d</span><span class="s">efault)&quot;</span><span 
class="p">)</span>
+<span class="n">opts</span><span class="p">,</span> <span 
class="n">args</span> <span class="o">=</span> <span 
class="n">parser</span><span class="o">.</span><span 
class="n">parse_args</span><span class="p">()</span>
+
+<span class="k">try</span><span class="p">:</span>
+    <span class="n">Container</span><span class="p">(</span><span 
class="n">Send</span><span class="p">(</span><span class="n">opts</span><span 
class="o">.</span><span class="n">address</span><span class="p">,</span> <span 
class="n">opts</span><span class="o">.</span><span 
class="n">messages</span><span class="p">))</span><span class="o">.</span><span 
class="n">run</span><span class="p">()</span>
+<span class="k">except</span> <span class="ne">KeyboardInterrupt</span><span 
class="p">:</span> <span class="k">pass</span>
+</pre></div>
+
+<p><a href="db_send.py">Download this file</a></p>

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+from __future__ import print_function
+import optparse
+from proton.handlers import MessagingHandler
+from proton.reactor import Container
+
+class Recv(MessagingHandler):
+    def __init__(self, url, count):
+        super(Recv, self).__init__()
+        self.url = url
+        self.expected = count
+        self.received = 0
+
+    def on_start(self, event):
+        self.acceptor = event.container.listen(self.url)
+
+    def on_message(self, event):
+        if event.message.id and event.message.id < self.received:
+            # ignore duplicate message
+            return
+        if self.expected == 0 or self.received < self.expected:
+            print(event.message.body)
+            self.received += 1
+            if self.received == self.expected:
+                event.receiver.close()
+                event.connection.close()
+                self.acceptor.close()
+
+parser = optparse.OptionParser(usage="usage: %prog [options]")
+parser.add_option("-a", "--address", default="localhost:5672/examples",
+                  help="address from which messages are received (default 
%default)")
+parser.add_option("-m", "--messages", type="int", default=100,
+                  help="number of messages to receive; 0 receives indefinitely 
(default %default)")
+opts, args = parser.parse_args()
+
+try:
+    Container(Recv(opts.address, opts.messages)).run()
+except KeyboardInterrupt: pass
+
+
+

Propchange: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py
------------------------------------------------------------------------------
    svn:executable = *

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py.html.in
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py.html.in?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py.html.in
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_recv.py.html.in
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,42 @@
+
+<h1>direct_recv.py</h1>
+<div class="highlight"><pre><span class="kn">from</span> <span 
class="nn">__future__</span> <span class="kn">import</span> <span 
class="n">print_function</span>
+<span class="kn">import</span> <span class="nn">optparse</span>
+<span class="kn">from</span> <span class="nn">proton.handlers</span> <span 
class="kn">import</span> <span class="n">MessagingHandler</span>
+<span class="kn">from</span> <span class="nn">proton.reactor</span> <span 
class="kn">import</span> <span class="n">Container</span>
+
+<span class="k">class</span> <span class="nc">Recv</span><span 
class="p">(</span><span class="n">MessagingHandler</span><span 
class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">url</span><span class="p">,</span> <span class="n">count</span><span 
class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span 
class="n">Recv</span><span class="p">,</span> <span class="bp">self</span><span 
class="p">)</span><span class="o">.</span><span class="n">__init__</span><span 
class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">url</span> <span class="o">=</span> <span class="n">url</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">expected</span> <span class="o">=</span> <span class="n">count</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">received</span> <span class="o">=</span> <span class="mi">0</span>
+
+    <span class="k">def</span> <span class="nf">on_start</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">acceptor</span> <span class="o">=</span> <span 
class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">listen</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">url</span><span 
class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_message</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="k">if</span> <span class="n">event</span><span 
class="o">.</span><span class="n">message</span><span class="o">.</span><span 
class="n">id</span> <span class="ow">and</span> <span 
class="n">event</span><span class="o">.</span><span 
class="n">message</span><span class="o">.</span><span class="n">id</span> <span 
class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span 
class="n">received</span><span class="p">:</span>
+            <span class="c"># ignore duplicate message</span>
+            <span class="k">return</span>
+        <span class="k">if</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">expected</span> <span class="o">==</span> 
<span class="mi">0</span> <span class="ow">or</span> <span 
class="bp">self</span><span class="o">.</span><span class="n">received</span> 
<span class="o">&lt;</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">expected</span><span class="p">:</span>
+            <span class="k">print</span><span class="p">(</span><span 
class="n">event</span><span class="o">.</span><span 
class="n">message</span><span class="o">.</span><span 
class="n">body</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">received</span> <span class="o">+=</span> <span class="mi">1</span>
+            <span class="k">if</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">received</span> <span class="o">==</span> 
<span class="bp">self</span><span class="o">.</span><span 
class="n">expected</span><span class="p">:</span>
+                <span class="n">event</span><span class="o">.</span><span 
class="n">receiver</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+                <span class="n">event</span><span class="o">.</span><span 
class="n">connection</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+                <span class="bp">self</span><span class="o">.</span><span 
class="n">acceptor</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+
+<span class="n">parser</span> <span class="o">=</span> <span 
class="n">optparse</span><span class="o">.</span><span 
class="n">OptionParser</span><span class="p">(</span><span 
class="n">usage</span><span class="o">=</span><span class="s">&quot;usage: 
%prog [options]&quot;</span><span class="p">)</span>
+<span class="n">parser</span><span class="o">.</span><span 
class="n">add_option</span><span class="p">(</span><span 
class="s">&quot;-a&quot;</span><span class="p">,</span> <span 
class="s">&quot;--address&quot;</span><span class="p">,</span> <span 
class="n">default</span><span class="o">=</span><span 
class="s">&quot;localhost:5672/examples&quot;</span><span class="p">,</span>
+                  <span class="n">help</span><span class="o">=</span><span 
class="s">&quot;address from which messages are received (default </span><span 
class="si">%d</span><span class="s">efault)&quot;</span><span class="p">)</span>
+<span class="n">parser</span><span class="o">.</span><span 
class="n">add_option</span><span class="p">(</span><span 
class="s">&quot;-m&quot;</span><span class="p">,</span> <span 
class="s">&quot;--messages&quot;</span><span class="p">,</span> <span 
class="nb">type</span><span class="o">=</span><span 
class="s">&quot;int&quot;</span><span class="p">,</span> <span 
class="n">default</span><span class="o">=</span><span 
class="mi">100</span><span class="p">,</span>
+                  <span class="n">help</span><span class="o">=</span><span 
class="s">&quot;number of messages to receive; 0 receives indefinitely (default 
</span><span class="si">%d</span><span class="s">efault)&quot;</span><span 
class="p">)</span>
+<span class="n">opts</span><span class="p">,</span> <span 
class="n">args</span> <span class="o">=</span> <span 
class="n">parser</span><span class="o">.</span><span 
class="n">parse_args</span><span class="p">()</span>
+
+<span class="k">try</span><span class="p">:</span>
+    <span class="n">Container</span><span class="p">(</span><span 
class="n">Recv</span><span class="p">(</span><span class="n">opts</span><span 
class="o">.</span><span class="n">address</span><span class="p">,</span> <span 
class="n">opts</span><span class="o">.</span><span 
class="n">messages</span><span class="p">))</span><span class="o">.</span><span 
class="n">run</span><span class="p">()</span>
+<span class="k">except</span> <span class="ne">KeyboardInterrupt</span><span 
class="p">:</span> <span class="k">pass</span>
+</pre></div>
+
+<p><a href="direct_recv.py">Download this file</a></p>

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,64 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+from __future__ import print_function, unicode_literals
+import optparse
+from proton import Message
+from proton.handlers import MessagingHandler
+from proton.reactor import Container
+
+class Send(MessagingHandler):
+    def __init__(self, url, messages):
+        super(Send, self).__init__()
+        self.url = url
+        self.sent = 0
+        self.confirmed = 0
+        self.total = messages
+
+    def on_start(self, event):
+        self.acceptor = event.container.listen(self.url)
+
+    def on_sendable(self, event):
+        while event.sender.credit and self.sent < self.total:
+            msg = Message(id=(self.sent+1), body={'sequence':(self.sent+1)})
+            event.sender.send(msg)
+            self.sent += 1
+
+    def on_accepted(self, event):
+        self.confirmed += 1
+        if self.confirmed == self.total:
+            print("all messages confirmed")
+            event.connection.close()
+            self.acceptor.close()
+
+    def on_disconnected(self, event):
+        self.sent = self.confirmed
+
+parser = optparse.OptionParser(usage="usage: %prog [options]",
+                               description="Send messages to the supplied 
address.")
+parser.add_option("-a", "--address", default="localhost:5672/examples",
+                  help="address to which messages are sent (default %default)")
+parser.add_option("-m", "--messages", type="int", default=100,
+                  help="number of messages to send (default %default)")
+opts, args = parser.parse_args()
+
+try:
+    Container(Send(opts.address, opts.messages)).run()
+except KeyboardInterrupt: pass

Propchange: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py
------------------------------------------------------------------------------
    svn:executable = *

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py.html.in
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py.html.in?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py.html.in
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/direct_send.py.html.in
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,49 @@
+
+<h1>direct_send.py</h1>
+<div class="highlight"><pre><span class="kn">from</span> <span 
class="nn">__future__</span> <span class="kn">import</span> <span 
class="n">print_function</span><span class="p">,</span> <span 
class="n">unicode_literals</span>
+<span class="kn">import</span> <span class="nn">optparse</span>
+<span class="kn">from</span> <span class="nn">proton</span> <span 
class="kn">import</span> <span class="n">Message</span>
+<span class="kn">from</span> <span class="nn">proton.handlers</span> <span 
class="kn">import</span> <span class="n">MessagingHandler</span>
+<span class="kn">from</span> <span class="nn">proton.reactor</span> <span 
class="kn">import</span> <span class="n">Container</span>
+
+<span class="k">class</span> <span class="nc">Send</span><span 
class="p">(</span><span class="n">MessagingHandler</span><span 
class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">url</span><span class="p">,</span> <span 
class="n">messages</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span 
class="n">Send</span><span class="p">,</span> <span class="bp">self</span><span 
class="p">)</span><span class="o">.</span><span class="n">__init__</span><span 
class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">url</span> <span class="o">=</span> <span class="n">url</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">sent</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">confirmed</span> <span class="o">=</span> <span class="mi">0</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">total</span> <span class="o">=</span> <span class="n">messages</span>
+
+    <span class="k">def</span> <span class="nf">on_start</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">acceptor</span> <span class="o">=</span> <span 
class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">listen</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">url</span><span 
class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_sendable</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="k">while</span> <span class="n">event</span><span 
class="o">.</span><span class="n">sender</span><span class="o">.</span><span 
class="n">credit</span> <span class="ow">and</span> <span 
class="bp">self</span><span class="o">.</span><span class="n">sent</span> <span 
class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span 
class="n">total</span><span class="p">:</span>
+            <span class="n">msg</span> <span class="o">=</span> <span 
class="n">Message</span><span class="p">(</span><span class="nb">id</span><span 
class="o">=</span><span class="p">(</span><span class="bp">self</span><span 
class="o">.</span><span class="n">sent</span><span class="o">+</span><span 
class="mi">1</span><span class="p">),</span> <span class="n">body</span><span 
class="o">=</span><span class="p">{</span><span 
class="s">&#39;sequence&#39;</span><span class="p">:(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">sent</span><span 
class="o">+</span><span class="mi">1</span><span class="p">)})</span>
+            <span class="n">event</span><span class="o">.</span><span 
class="n">sender</span><span class="o">.</span><span class="n">send</span><span 
class="p">(</span><span class="n">msg</span><span class="p">)</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">sent</span> <span class="o">+=</span> <span class="mi">1</span>
+
+    <span class="k">def</span> <span class="nf">on_accepted</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">confirmed</span> <span class="o">+=</span> <span class="mi">1</span>
+        <span class="k">if</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">confirmed</span> <span class="o">==</span> 
<span class="bp">self</span><span class="o">.</span><span 
class="n">total</span><span class="p">:</span>
+            <span class="k">print</span><span class="p">(</span><span 
class="s">&quot;all messages confirmed&quot;</span><span class="p">)</span>
+            <span class="n">event</span><span class="o">.</span><span 
class="n">connection</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+            <span class="bp">self</span><span class="o">.</span><span 
class="n">acceptor</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">on_disconnected</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">sent</span> <span class="o">=</span> <span 
class="bp">self</span><span class="o">.</span><span class="n">confirmed</span>
+
+<span class="n">parser</span> <span class="o">=</span> <span 
class="n">optparse</span><span class="o">.</span><span 
class="n">OptionParser</span><span class="p">(</span><span 
class="n">usage</span><span class="o">=</span><span class="s">&quot;usage: 
%prog [options]&quot;</span><span class="p">,</span>
+                               <span class="n">description</span><span 
class="o">=</span><span class="s">&quot;Send messages to the supplied 
address.&quot;</span><span class="p">)</span>
+<span class="n">parser</span><span class="o">.</span><span 
class="n">add_option</span><span class="p">(</span><span 
class="s">&quot;-a&quot;</span><span class="p">,</span> <span 
class="s">&quot;--address&quot;</span><span class="p">,</span> <span 
class="n">default</span><span class="o">=</span><span 
class="s">&quot;localhost:5672/examples&quot;</span><span class="p">,</span>
+                  <span class="n">help</span><span class="o">=</span><span 
class="s">&quot;address to which messages are sent (default </span><span 
class="si">%d</span><span class="s">efault)&quot;</span><span class="p">)</span>
+<span class="n">parser</span><span class="o">.</span><span 
class="n">add_option</span><span class="p">(</span><span 
class="s">&quot;-m&quot;</span><span class="p">,</span> <span 
class="s">&quot;--messages&quot;</span><span class="p">,</span> <span 
class="nb">type</span><span class="o">=</span><span 
class="s">&quot;int&quot;</span><span class="p">,</span> <span 
class="n">default</span><span class="o">=</span><span 
class="mi">100</span><span class="p">,</span>
+                  <span class="n">help</span><span class="o">=</span><span 
class="s">&quot;number of messages to send (default </span><span 
class="si">%d</span><span class="s">efault)&quot;</span><span class="p">)</span>
+<span class="n">opts</span><span class="p">,</span> <span 
class="n">args</span> <span class="o">=</span> <span 
class="n">parser</span><span class="o">.</span><span 
class="n">parse_args</span><span class="p">()</span>
+
+<span class="k">try</span><span class="p">:</span>
+    <span class="n">Container</span><span class="p">(</span><span 
class="n">Send</span><span class="p">(</span><span class="n">opts</span><span 
class="o">.</span><span class="n">address</span><span class="p">,</span> <span 
class="n">opts</span><span class="o">.</span><span 
class="n">messages</span><span class="p">))</span><span class="o">.</span><span 
class="n">run</span><span class="p">()</span>
+<span class="k">except</span> <span class="ne">KeyboardInterrupt</span><span 
class="p">:</span> <span class="k">pass</span>
+</pre></div>
+
+<p><a href="direct_send.py">Download this file</a></p>

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+from __future__ import print_function, unicode_literals
+from proton import Message
+from proton.handlers import MessagingHandler
+from proton.reactor import Container
+
+class HelloWorld(MessagingHandler):
+    def __init__(self, server, address):
+        super(HelloWorld, self).__init__()
+        self.server = server
+        self.address = address
+
+    def on_start(self, event):
+        conn = event.container.connect(self.server)
+        event.container.create_receiver(conn, self.address)
+        event.container.create_sender(conn, self.address)
+
+    def on_sendable(self, event):
+        event.sender.send(Message(body="Hello World!"))
+        event.sender.close()
+
+    def on_message(self, event):
+        print(event.message.body)
+        event.connection.close()
+
+Container(HelloWorld("localhost:5672", "examples")).run()

Propchange: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py
------------------------------------------------------------------------------
    svn:executable = *

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py.html.in
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py.html.in?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py.html.in
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld.py.html.in
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,30 @@
+
+<h1>helloworld.py</h1>
+<div class="highlight"><pre><span class="kn">from</span> <span 
class="nn">__future__</span> <span class="kn">import</span> <span 
class="n">print_function</span><span class="p">,</span> <span 
class="n">unicode_literals</span>
+<span class="kn">from</span> <span class="nn">proton</span> <span 
class="kn">import</span> <span class="n">Message</span>
+<span class="kn">from</span> <span class="nn">proton.handlers</span> <span 
class="kn">import</span> <span class="n">MessagingHandler</span>
+<span class="kn">from</span> <span class="nn">proton.reactor</span> <span 
class="kn">import</span> <span class="n">Container</span>
+
+<span class="k">class</span> <span class="nc">HelloWorld</span><span 
class="p">(</span><span class="n">MessagingHandler</span><span 
class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">server</span><span class="p">,</span> <span 
class="n">address</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span 
class="n">HelloWorld</span><span class="p">,</span> <span 
class="bp">self</span><span class="p">)</span><span class="o">.</span><span 
class="n">__init__</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">server</span> <span class="o">=</span> <span class="n">server</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">address</span> <span class="o">=</span> <span class="n">address</span>
+
+    <span class="k">def</span> <span class="nf">on_start</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="n">conn</span> <span class="o">=</span> <span 
class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">connect</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span 
class="n">server</span><span class="p">)</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">create_receiver</span><span class="p">(</span><span 
class="n">conn</span><span class="p">,</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">address</span><span class="p">)</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">create_sender</span><span class="p">(</span><span 
class="n">conn</span><span class="p">,</span> <span class="bp">self</span><span 
class="o">.</span><span class="n">address</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_sendable</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">sender</span><span class="o">.</span><span class="n">send</span><span 
class="p">(</span><span class="n">Message</span><span class="p">(</span><span 
class="n">body</span><span class="o">=</span><span class="s">&quot;Hello 
World!&quot;</span><span class="p">))</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">sender</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">on_message</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="k">print</span><span class="p">(</span><span 
class="n">event</span><span class="o">.</span><span 
class="n">message</span><span class="o">.</span><span 
class="n">body</span><span class="p">)</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">connection</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+
+<span class="n">Container</span><span class="p">(</span><span 
class="n">HelloWorld</span><span class="p">(</span><span 
class="s">&quot;localhost:5672&quot;</span><span class="p">,</span> <span 
class="s">&quot;examples&quot;</span><span class="p">))</span><span 
class="o">.</span><span class="n">run</span><span class="p">()</span>
+</pre></div>
+
+<p><a href="helloworld.py">Download this file</a></p>

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+from __future__ import print_function
+from proton import Message
+from proton.utils import BlockingConnection
+from proton.handlers import IncomingMessageHandler
+
+conn = BlockingConnection("localhost:5672")
+receiver = conn.create_receiver("examples")
+sender = conn.create_sender("examples")
+sender.send(Message(body="Hello World!"));
+msg = receiver.receive(timeout=30)
+print(msg.body)
+receiver.accept()
+conn.close()
+

Propchange: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py
------------------------------------------------------------------------------
    svn:executable = *

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py.html.in
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py.html.in?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py.html.in
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_blocking.py.html.in
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,18 @@
+
+<h1>helloworld_blocking.py</h1>
+<div class="highlight"><pre><span class="kn">from</span> <span 
class="nn">__future__</span> <span class="kn">import</span> <span 
class="n">print_function</span>
+<span class="kn">from</span> <span class="nn">proton</span> <span 
class="kn">import</span> <span class="n">Message</span>
+<span class="kn">from</span> <span class="nn">proton.utils</span> <span 
class="kn">import</span> <span class="n">BlockingConnection</span>
+<span class="kn">from</span> <span class="nn">proton.handlers</span> <span 
class="kn">import</span> <span class="n">IncomingMessageHandler</span>
+
+<span class="n">conn</span> <span class="o">=</span> <span 
class="n">BlockingConnection</span><span class="p">(</span><span 
class="s">&quot;localhost:5672&quot;</span><span class="p">)</span>
+<span class="n">receiver</span> <span class="o">=</span> <span 
class="n">conn</span><span class="o">.</span><span 
class="n">create_receiver</span><span class="p">(</span><span 
class="s">&quot;examples&quot;</span><span class="p">)</span>
+<span class="n">sender</span> <span class="o">=</span> <span 
class="n">conn</span><span class="o">.</span><span 
class="n">create_sender</span><span class="p">(</span><span 
class="s">&quot;examples&quot;</span><span class="p">)</span>
+<span class="n">sender</span><span class="o">.</span><span 
class="n">send</span><span class="p">(</span><span 
class="n">Message</span><span class="p">(</span><span 
class="n">body</span><span class="o">=</span><span class="s">&quot;Hello 
World!&quot;</span><span class="p">));</span>
+<span class="n">msg</span> <span class="o">=</span> <span 
class="n">receiver</span><span class="o">.</span><span 
class="n">receive</span><span class="p">(</span><span 
class="n">timeout</span><span class="o">=</span><span class="mi">30</span><span 
class="p">)</span>
+<span class="k">print</span><span class="p">(</span><span 
class="n">msg</span><span class="o">.</span><span class="n">body</span><span 
class="p">)</span>
+<span class="n">receiver</span><span class="o">.</span><span 
class="n">accept</span><span class="p">()</span>
+<span class="n">conn</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+</pre></div>
+
+<p><a href="helloworld_blocking.py">Download this file</a></p>

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+from __future__ import print_function, unicode_literals
+from proton import Message
+from proton.handlers import MessagingHandler
+from proton.reactor import Container
+
+class HelloWorld(MessagingHandler):
+    def __init__(self, url):
+        super(HelloWorld, self).__init__()
+        self.url = url
+
+    def on_start(self, event):
+        self.acceptor = event.container.listen(self.url)
+        event.container.create_sender(self.url)
+
+    def on_sendable(self, event):
+        event.sender.send(Message(body="Hello World!"))
+        event.sender.close()
+
+    def on_message(self, event):
+        print(event.message.body)
+
+    def on_accepted(self, event):
+        event.connection.close()
+
+    def on_connection_closed(self, event):
+        self.acceptor.close()
+
+Container(HelloWorld("localhost:8888/examples")).run()

Propchange: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py
------------------------------------------------------------------------------
    svn:executable = *

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py.html.in
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py.html.in?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py.html.in
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct.py.html.in
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,33 @@
+
+<h1>helloworld_direct.py</h1>
+<div class="highlight"><pre><span class="kn">from</span> <span 
class="nn">__future__</span> <span class="kn">import</span> <span 
class="n">print_function</span><span class="p">,</span> <span 
class="n">unicode_literals</span>
+<span class="kn">from</span> <span class="nn">proton</span> <span 
class="kn">import</span> <span class="n">Message</span>
+<span class="kn">from</span> <span class="nn">proton.handlers</span> <span 
class="kn">import</span> <span class="n">MessagingHandler</span>
+<span class="kn">from</span> <span class="nn">proton.reactor</span> <span 
class="kn">import</span> <span class="n">Container</span>
+
+<span class="k">class</span> <span class="nc">HelloWorld</span><span 
class="p">(</span><span class="n">MessagingHandler</span><span 
class="p">):</span>
+    <span class="k">def</span> <span class="nf">__init__</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">url</span><span class="p">):</span>
+        <span class="nb">super</span><span class="p">(</span><span 
class="n">HelloWorld</span><span class="p">,</span> <span 
class="bp">self</span><span class="p">)</span><span class="o">.</span><span 
class="n">__init__</span><span class="p">()</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">url</span> <span class="o">=</span> <span class="n">url</span>
+
+    <span class="k">def</span> <span class="nf">on_start</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">acceptor</span> <span class="o">=</span> <span 
class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">listen</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">url</span><span 
class="p">)</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">container</span><span class="o">.</span><span 
class="n">create_sender</span><span class="p">(</span><span 
class="bp">self</span><span class="o">.</span><span class="n">url</span><span 
class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_sendable</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">sender</span><span class="o">.</span><span class="n">send</span><span 
class="p">(</span><span class="n">Message</span><span class="p">(</span><span 
class="n">body</span><span class="o">=</span><span class="s">&quot;Hello 
World!&quot;</span><span class="p">))</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">sender</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+
+    <span class="k">def</span> <span class="nf">on_message</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="k">print</span><span class="p">(</span><span 
class="n">event</span><span class="o">.</span><span 
class="n">message</span><span class="o">.</span><span 
class="n">body</span><span class="p">)</span>
+
+    <span class="k">def</span> <span class="nf">on_accepted</span><span 
class="p">(</span><span class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="n">event</span><span class="o">.</span><span 
class="n">connection</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+
+    <span class="k">def</span> <span 
class="nf">on_connection_closed</span><span class="p">(</span><span 
class="bp">self</span><span class="p">,</span> <span 
class="n">event</span><span class="p">):</span>
+        <span class="bp">self</span><span class="o">.</span><span 
class="n">acceptor</span><span class="o">.</span><span 
class="n">close</span><span class="p">()</span>
+
+<span class="n">Container</span><span class="p">(</span><span 
class="n">HelloWorld</span><span class="p">(</span><span 
class="s">&quot;localhost:8888/examples&quot;</span><span 
class="p">))</span><span class="o">.</span><span class="n">run</span><span 
class="p">()</span>
+</pre></div>
+
+<p><a href="helloworld_direct.py">Download this file</a></p>

Added: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct_tornado.py
URL: 
http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct_tornado.py?rev=1705923&view=auto
==============================================================================
--- 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct_tornado.py
 (added)
+++ 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct_tornado.py
 Tue Sep 29 20:27:56 2015
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+#
+# 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.
+#
+
+from __future__ import print_function
+from proton import Message
+from proton.handlers import MessagingHandler
+from proton_tornado import Container
+
+class HelloWorld(MessagingHandler):
+    def __init__(self, url):
+        super(HelloWorld, self).__init__()
+        self.url = url
+
+    def on_start(self, event):
+        self.acceptor = event.container.listen(self.url)
+        event.container.create_sender(self.url)
+
+    def on_sendable(self, event):
+        event.sender.send(Message(body="Hello World!"))
+        event.sender.close()
+
+    def on_message(self, event):
+        print(event.message.body)
+
+    def on_accepted(self, event):
+        event.connection.close()
+
+    def on_connection_closed(self, event):
+        self.acceptor.close()
+
+Container(HelloWorld("localhost:8888/examples")).run()

Propchange: 
qpid/site/input/releases/qpid-proton-master/proton/python/examples/helloworld_direct_tornado.py
------------------------------------------------------------------------------
    svn:executable = *



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

Reply via email to