You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jr...@apache.org on 2016/12/04 17:39:20 UTC

[04/51] [partial] qpid-site git commit: QPID-7553: Doc snapshots and various other updates

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/34159cc7/content/releases/qpid-python-master/messaging-api/api/qpid.messaging.endpoints-pysrc.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-python-master/messaging-api/api/qpid.messaging.endpoints-pysrc.html b/content/releases/qpid-python-master/messaging-api/api/qpid.messaging.endpoints-pysrc.html
new file mode 100755
index 0000000..8565d5a
--- /dev/null
+++ b/content/releases/qpid-python-master/messaging-api/api/qpid.messaging.endpoints-pysrc.html
@@ -0,0 +1,1460 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>qpid.messaging.endpoints</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="qpid.messaging-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="http://qpid.apache.org/index.html">Qpid Python Messaging API</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package&nbsp;qpid ::
+        <a href="qpid.messaging-module.html">Package&nbsp;messaging</a> ::
+        Module&nbsp;endpoints
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="qpid.messaging.endpoints-pysrc.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="qpid.messaging.endpoints-module.html">Module qpid.messaging.endpoints</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-comment"># Licensed to the Apache Software Foundation (ASF) under one</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"><tt class="py-comment"># or more contributor license agreements.  See the NOTICE file</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-comment"># distributed with this work for additional information</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-comment"># regarding copyright ownership.  The ASF licenses this file</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-comment"># to you under the Apache License, Version 2.0 (the</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-comment"># "License"); you may not use this file except in compliance</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-comment"># with the License.  You may obtain a copy of the License at</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-comment">#   http://www.apache.org/licenses/LICENSE-2.0</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-comment"># Unless required by applicable law or agreed to in writing,</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"><tt class="py-comment"># software distributed under the License is distributed on an</tt> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt class="py-comment"># "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</tt> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"><tt class="py-comment"># KIND, either express or implied.  See the License for the</tt> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt class="py-comment"># specific language governing permissions and limitations</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt class="py-comment"># under the License.</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-comment">#</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-docstring">A high level messaging API for python.</tt> </tt>
+<a name="L22"></a><tt class="py-lineno">  22</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line"><tt class="py-docstring">Areas that still need work:</tt> </tt>
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"><tt class="py-docstring">  - definition of the arguments for L{Session.sender} and L{Session.receiver}</tt> </tt>
+<a name="L26"></a><tt class="py-lineno">  26</tt>  <tt class="py-line"><tt class="py-docstring">  - standard L{Message} properties</tt> </tt>
+<a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line"><tt class="py-docstring">  - L{Message} content encoding</tt> </tt>
+<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line"><tt class="py-docstring">  - protocol negotiation/multiprotocol impl</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line"> </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">logging</tt> <tt class="py-keyword">import</tt> <tt class="py-name">getLogger</tt> </tt>
+<a name="L32"></a><tt class="py-lineno">  32</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">math</tt> <tt class="py-keyword">import</tt> <tt class="py-name">ceil</tt> </tt>
+<a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt><tt class="py-op">.</tt><tt class="py-name">codec010</tt> <tt class="py-keyword">import</tt> <tt class="py-name">StringCodec</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt><tt class="py-op">.</tt><tt class="py-name">concurrency</tt> <tt class="py-keyword">import</tt> <tt class="py-name">synchronized</tt><tt class="py-op">,</tt> <tt class="py-name">Waiter</tt><tt class="py-op">,</tt> <tt class="py-name">Condition</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt><tt class="py-op">.</tt><tt class="py-name">datatypes</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Serial</tt><tt class="py-op">,</tt> <tt class="py-name">uuid4</tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt><tt class="py-op">.</tt><tt id="link-0" class="py-name" targets="Package qpid.messaging=qpid.messaging-module.html"><a title="qpid.messaging" class="py-name" href="#" onclick="return doclink('link-0', 'messaging', 'link-0');">messaging</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module qpid.messaging.constants=qpid.messaging.constants-module.html"><a title="qpid.messaging.constants" class="py-name" href="#" onclick="return doclink('link-1', 'constants', 'link-1');">constants</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name"><a title="qpid.messaging" class="py-name" href="#" onclick="return doclink('link-2', 'messaging', 'link-0');">messaging</a></tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Module qpid.messaging.exceptions=qpid.messaging.exceptions-module.html"><a title="qpid.messaging.exceptions" class="py-name" href="#" onclick="return doclink('link-3', 'exceptions', 'link-3');">exceptions</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L38"></a><tt class="py-lineno">  38</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name"><a title="qpid.messaging" class="py-name" href="#" onclick="return doclink('link-4', 'messaging', 'link-0');">messaging</a></tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Module qpid.messaging.message=qpid.messaging.message-module.html"><a title="qpid.messaging.message" class="py-name" href="#" onclick="return doclink('link-5', 'message', 'link-5');">message</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </tt>
+<a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt><tt class="py-op">.</tt><tt class="py-name">ops</tt> <tt class="py-keyword">import</tt> <tt class="py-name">PRIMITIVE</tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Module qpid.messaging.util=qpid.messaging.util-module.html"><a title="qpid.messaging.util" class="py-name" href="#" onclick="return doclink('link-6', 'util', 'link-6');">util</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">default</tt><tt class="py-op">,</tt> <tt class="py-name">URL</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">threading</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Thread</tt><tt class="py-op">,</tt> <tt class="py-name">RLock</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line"> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable qpid.messaging.driver.log=qpid.messaging.driver-module.html#log,Variable qpid.messaging.endpoints.log=qpid.messaging.endpoints-module.html#log,Variable qpid.messaging.util.log=qpid.messaging.util-module.html#log"><a title="qpid.messaging.driver.log
+qpid.messaging.endpoints.log
+qpid.messaging.util.log" class="py-name" href="#" onclick="return doclink('link-7', 'log', 'link-7');">log</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"qpid.messaging"</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line"> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line"><tt class="py-name">static</tt> <tt class="py-op">=</tt> <tt class="py-name">staticmethod</tt> </tt>
+<a name="Endpoint"></a><div id="Endpoint-def"><a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line"> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt> <a class="py-toggle" href="#" id="Endpoint-toggle" onclick="return toggle('Endpoint');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Endpoint-class.html">Endpoint</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Endpoint-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Endpoint-expanded"><a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">  <tt class="py-docstring">"""</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line"><tt class="py-docstring">  Base class for all endpoint objects types.</tt> </tt>
+<a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line"><tt class="py-docstring">  @undocumented: __init__, __setattr__</tt> </tt>
+<a name="L51"></a><tt class="py-lineno">  51</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="Endpoint.__init__"></a><div id="Endpoint.__init__-def"><a name="L52"></a><tt class="py-lineno">  52</tt> <a class="py-toggle" href="#" id="Endpoint.__init__-toggle" onclick="return toggle('Endpoint.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Endpoint-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Endpoint.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Endpoint.__init__-expanded"><a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_async_exception_notify_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">error</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+</div><a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line"> </tt>
+<a name="Endpoint._ecwait"></a><div id="Endpoint._ecwait-def"><a name="L56"></a><tt class="py-lineno">  56</tt> <a class="py-toggle" href="#" id="Endpoint._ecwait-toggle" onclick="return toggle('Endpoint._ecwait');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Endpoint-class.html#_ecwait">_ecwait</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">predicate</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Endpoint._ecwait-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Endpoint._ecwait-expanded"><a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ewait</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">closed</tt> <tt class="py-keyword">or</tt> <tt class="py-name">predicate</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-8" class="py-name" targets="Method qpid.messaging.driver.Driver.timeout()=qpid.messaging.driver.Driver-class.html#timeout"><a title="qpid.messaging.driver.Driver.timeout" class="py-name" href="#" onclick="return doclink('link-8', 'timeout', 'link-8');">timeout</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method qpid.messaging.endpoints.Connection.check_closed()=qpid.messaging.endpoints.Connection-class.html#check_closed,Method qpid.messaging.endpoints.Receiver.check_closed()=qpid.messaging.endpoints.Receiver-class.html#check_closed,Method qpid.messaging.endpoints.Sender.check_closed()=qpid.messaging.endpoints.Sender-class.html#check_closed,Method qpid.messaging.endpoints.Session.check_closed()=qpid.messaging.endpoints.Session-class.html#check_closed"><a title="qpid.messaging.endpoints.Connection.check_closed
+qpid.messaging.endpoints.Receiver.check_closed
+qpid.messaging.endpoints.Sender.check_closed
+qpid.messaging.endpoints.Session.check_closed" class="py-name" href="#" onclick="return doclink('link-9', 'check_closed', 'link-9');">check_closed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line"> </tt>
+<a name="L61"></a><tt class="py-lineno">  61</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">synchronized</tt> </tt>
+<a name="Endpoint.set_async_exception_notify_handler"></a><div id="Endpoint.set_async_exception_notify_handler-def"><a name="L62"></a><tt class="py-lineno">  62</tt> <a class="py-toggle" href="#" id="Endpoint.set_async_exception_notify_handler-toggle" onclick="return toggle('Endpoint.set_async_exception_notify_handler');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Endpoint-class.html#set_async_exception_notify_handler">set_async_exception_notify_handler</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Endpoint.set_async_exception_notify_handler-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Endpoint.set_async_exception_notify_handler-expanded"><a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line"><tt class="py-docstring">    Register a callable that will be invoked when the driver thread detects an</tt> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line"><tt class="py-docstring">    error on the Endpoint. The callable is invoked with the instance of the</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line"><tt class="py-docstring">    Endpoint object passed as the first argument. The second argument is an</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line"><tt class="py-docstring">    Exception instance describing the failure.</tt> </tt>
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line"><tt class="py-docstring">    @param handler: invoked by the driver thread when an error occurs.</tt> </tt>
+<a name="L70"></a><tt class="py-lineno">  70</tt>  <tt class="py-line"><tt class="py-docstring">    @type handler: callable object taking an Endpoint and an Exception as</tt> </tt>
+<a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line"><tt class="py-docstring">    arguments.</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line"><tt class="py-docstring">    @return: None</tt> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line"><tt class="py-docstring">    @note: The exception will also be raised the next time the application</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line"><tt class="py-docstring">    invokes one of the blocking messaging APIs.</tt> </tt>
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line"><tt class="py-docstring">    @warning: B{Use with caution} This callback is invoked in the context of</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line"><tt class="py-docstring">    the driver thread. It is B{NOT} safe to call B{ANY} of the messaging APIs</tt> </tt>
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line"><tt class="py-docstring">    from within this callback. This includes any of the Endpoint's methods. The</tt> </tt>
+<a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line"><tt class="py-docstring">    intent of the handler is to provide an efficient way to notify the</tt> </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line"><tt class="py-docstring">    application that an exception has occurred in the driver thread. This can</tt> </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line"><tt class="py-docstring">    be useful for those applications that periodically poll the messaging layer</tt> </tt>
+<a name="L81"></a><tt class="py-lineno">  81</tt>  <tt class="py-line"><tt class="py-docstring">    for events. In this case the callback can be used to schedule a task that</tt> </tt>
+<a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line"><tt class="py-docstring">    retrieves the error using the Endpoint's get_error() or check_error()</tt> </tt>
+<a name="L83"></a><tt class="py-lineno">  83</tt>  <tt class="py-line"><tt class="py-docstring">    methods.</tt> </tt>
+<a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_async_exception_notify_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt> </tt>
+</div><a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line"> </tt>
+<a name="Endpoint.__setattr__"></a><div id="Endpoint.__setattr__-def"><a name="L87"></a><tt class="py-lineno">  87</tt> <a class="py-toggle" href="#" id="Endpoint.__setattr__-toggle" onclick="return toggle('Endpoint.__setattr__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Endpoint-class.html#__setattr__">__setattr__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Endpoint.__setattr__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Endpoint.__setattr__-expanded"><a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line"><tt class="py-docstring">    Intercept any attempt to set the endpoint error flag and invoke the</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line"><tt class="py-docstring">    callback if registered.</tt> </tt>
+<a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L92"></a><tt class="py-lineno">  92</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-10" class="py-name" targets="Class qpid.messaging.endpoints.Endpoint=qpid.messaging.endpoints.Endpoint-class.html"><a title="qpid.messaging.endpoints.Endpoint" class="py-name" href="#" onclick="return doclink('link-10', 'Endpoint', 'link-10');">Endpoint</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">__setattr__</tt><tt class="py-op">(</tt><tt id="link-11" class="py-name" targets="Variable qpid.messaging.driver.name=qpid.messaging.driver-module.html#name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-11', 'name', 'link-11');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-12" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-12', 'name', 'link-11');">name</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'error'</tt> <tt class="py-keyword">and</tt> <tt class="py-name">value</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_async_exception_notify_handler</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_async_exception_notify_handler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line"> </tt>
+<a name="Connection"></a><div id="Connection-def"><a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line"> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt> <a class="py-toggle" href="#" id="Connection-toggle" onclick="return toggle('Connection');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html">Connection</a><tt class="py-op">(</tt><tt class="py-base-class">Endpoint</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Connection-expanded"><a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"> </tt>
+<a name="L100"></a><tt class="py-lineno"> 100</tt>  <tt class="py-line">  <tt class="py-docstring">"""</tt> </tt>
+<a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line"><tt class="py-docstring">  A Connection manages a group of L{Sessions&lt;Session&gt;} and connects</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line"><tt class="py-docstring">  them with a remote endpoint.</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line"><tt class="py-docstring">  """</tt> </tt>
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line"> </tt>
+<a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">static</tt> </tt>
+<a name="Connection.establish"></a><div id="Connection.establish-def"><a name="L106"></a><tt class="py-lineno"> 106</tt> <a class="py-toggle" href="#" id="Connection.establish-toggle" onclick="return toggle('Connection.establish');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#establish">establish</a><tt class="py-op">(</tt><tt class="py-param">url</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection.establish-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection.establish-expanded"><a name="L107"></a><tt class="py-lineno"> 107</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line"><tt class="py-docstring">    Constructs a L{Connection} with the supplied parameters and opens</tt> </tt>
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line"><tt class="py-docstring">    it.</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">    <tt class="py-name">conn</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name" targets="Class qpid.messaging.endpoints.Connection=qpid.messaging.endpoints.Connection-class.html"><a title="qpid.messaging.endpoints.Connection" class="py-name" href="#" onclick="return doclink('link-13', 'Connection', 'link-13');">Connection</a></tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-name">options</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">    <tt class="py-name">conn</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method qpid.messaging.driver.Engine.open()=qpid.messaging.driver.Engine-class.html#open,Method qpid.messaging.endpoints.Connection.open()=qpid.messaging.endpoints.Connection-class.html#open"><a title="qpid.messaging.driver.Engine.open
+qpid.messaging.endpoints.Connection.open" class="py-name" href="#" onclick="return doclink('link-14', 'open', 'link-14');">open</a></tt><tt class="py-op">(</tt><tt id="link-15" class="py-name"><a title="qpid.messaging.driver.Driver.timeout" class="py-name" href="#" onclick="return doclink('link-15', 'timeout', 'link-8');">timeout</a></tt><tt class="py-op">=</tt><tt id="link-16" class="py-name"><a title="qpid.messaging.driver.Driver.timeout" class="py-name" href="#" onclick="return doclink('link-16', 'timeout', 'link-8');">timeout</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">conn</tt> </tt>
+</div><a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line"> </tt>
+<a name="Connection.__init__"></a><div id="Connection.__init__-def"><a name="L115"></a><tt class="py-lineno"> 115</tt> <a class="py-toggle" href="#" id="Connection.__init__-toggle" onclick="return toggle('Connection.__init__');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">url</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">options</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection.__init__-expanded"><a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L117"></a><tt class="py-lineno"> 117</tt>  <tt class="py-line"><tt class="py-docstring">    Creates a connection. A newly created connection must be opened</tt> </tt>
+<a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line"><tt class="py-docstring">    with the Connection.open() method before it can be used.</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"><tt class="py-docstring">    @type url: str</tt> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line"><tt class="py-docstring">    @param url: [ &lt;username&gt; [ / &lt;password&gt; ] @ ] &lt;host&gt; [ : &lt;port&gt; ]</tt> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line"><tt class="py-docstring">    @type host: str</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"><tt class="py-docstring">    @param host: the name or ip address of the remote host (overriden by url)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"><tt class="py-docstring">    @type port: int</tt> </tt>
+<a name="L125"></a><tt class="py-lineno"> 125</tt>  <tt class="py-line"><tt class="py-docstring">    @param port: the port number of the remote host (overriden by url)</tt> </tt>
+<a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line"><tt class="py-docstring">    @type transport: str</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"><tt class="py-docstring">    @param transport: one of tcp, tcp+tls, or ssl (alias for tcp+tls)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line"><tt class="py-docstring">    @type heartbeat: int</tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line"><tt class="py-docstring">    @param heartbeat: heartbeat interval in seconds</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"><tt class="py-docstring">    @type username: str</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line"><tt class="py-docstring">    @param username: the username for authentication (overriden by url)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line"><tt class="py-docstring">    @type password: str</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line"><tt class="py-docstring">    @param password: the password for authentication (overriden by url)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line"><tt class="py-docstring">    @type sasl_mechanisms: str</tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line"><tt class="py-docstring">    @param sasl_mechanisms: space separated list of permitted sasl mechanisms</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"><tt class="py-docstring">    @type sasl_service: str</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"><tt class="py-docstring">    @param sasl_service: the service name if needed by the SASL mechanism in use</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line"><tt class="py-docstring">    @type sasl_min_ssf: int</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line"><tt class="py-docstring">    @param sasl_min_ssf: the minimum acceptable security strength factor</tt> </tt>
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line"><tt class="py-docstring">    @type sasl_max_ssf: int</tt> </tt>
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line"><tt class="py-docstring">    @param sasl_max_ssf: the maximum acceptable security strength factor</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line"><tt class="py-docstring">    @type reconnect: bool</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line"><tt class="py-docstring">    @param reconnect: enable/disable automatic reconnect</tt> </tt>
+<a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line"><tt class="py-docstring">    @type reconnect_timeout: float</tt> </tt>
+<a name="L147"></a><tt class="py-lineno"> 147</tt>  <tt class="py-line"><tt class="py-docstring">    @param reconnect_timeout: total time to attempt reconnect</tt> </tt>
+<a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line"><tt class="py-docstring">    @type reconnect_interval_min: float</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line"><tt class="py-docstring">    @param reconnect_interval_min: minimum interval between reconnect attempts</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line"><tt class="py-docstring">    @type reconnect_interval_max: float</tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line"><tt class="py-docstring">    @param reconnect_interval_max: maximum interval between reconnect attempts</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line"><tt class="py-docstring">    @type reconnect_interval: float</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line"><tt class="py-docstring">    @param reconnect_interval: set both min and max reconnect intervals</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line"><tt class="py-docstring">    @type reconnect_limit: int</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line"><tt class="py-docstring">    @param reconnect_limit: limit the total number of reconnect attempts</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line"><tt class="py-docstring">    @type reconnect_urls: list[str]</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line"><tt class="py-docstring">    @param reconnect_urls: list of backup hosts specified as urls</tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line"><tt class="py-docstring">    @type address_ttl: float</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"><tt class="py-docstring">    @param address_ttl: time until cached address resolution expires</tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line"><tt class="py-docstring">    @type ssl_keyfile: str</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line"><tt class="py-docstring">    @param ssl_keyfile: file with client's private key (PEM format)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line"><tt class="py-docstring">    @type ssl_certfile: str</tt> </tt>
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line"><tt class="py-docstring">    @param ssl_certfile: file with client's public (eventually priv+pub) key (PEM format)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line"><tt class="py-docstring">    @type ssl_trustfile: str</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line"><tt class="py-docstring">    @param ssl_trustfile: file trusted certificates to validate the server</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line"><tt class="py-docstring">    @type ssl_skip_hostname_check: bool</tt> </tt>
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line"><tt class="py-docstring">    @param ssl_skip_hostname_check: disable verification of hostname in</tt> </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line"><tt class="py-docstring">    certificate. Use with caution - disabling hostname checking leaves you</tt> </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line"><tt class="py-docstring">    vulnerable to Man-in-the-Middle attacks.</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype: Connection</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line"><tt class="py-docstring">    @return: a disconnected Connection</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">    <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="qpid.messaging.endpoints.Connection" class="py-name" href="#" onclick="return doclink('link-17', 'Connection', 'link-13');">Connection</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method qpid.messaging.constants.Constant.__init__()=qpid.messaging.constants.Constant-class.html#__init__,Method qpid.messaging.driver.Attachment.__init__()=qpid.messaging.driver.Attachment-class.html#__init__,Method qpid.messaging.driver.Cache.__init__()=qpid.messaging.driver.Cache-class.html#__init__,Method qpid.messaging.driver.Driver.__init__()=qpid.messaging.driver.Driver-class.html#__init__,Method qpid.messaging.driver.Engine.__init__()=qpid.messaging.driver.Engine-class.html#__init__,Method qpid.messaging.driver.Pattern.__in
 it__()=qpid.messaging.driver.Pattern-class.html#__init__,Method qpid.messaging.driver.SessionState.__init__()=qpid.messaging.driver.SessionState-class.html#__init__,Method qpid.messaging.endpoints.Connection.__init__()=qpid.messaging.endpoints.Connection-class.html#__init__,Method qpid.messaging.endpoints.Receiver.__init__()=qpid.messaging.endpoints.Receiver-class.html#__init__,Method qpid.messaging.endpoints.Sender.__init__()=qpid.messaging.endpoints.Sender-class.html#__init__,Method qpid.messaging.endpoints.Session.__init__()=qpid.messaging.endpoints.Session-class.html#__init__,Method qpid.messaging.exceptions.MessagingError.__init__()=qpid.messaging.exceptions.MessagingError-class.html#__init__,Method qpid.messaging.message.Disposition.__init__()=qpid.messaging.message.Disposition-class.html#__init__,Method qpid.messaging.message.Message.__init__()=qpid.messaging.message.Message-class.html#__init__,Method qpid.messaging.transports.SocketTransport.__init__()=qpid.messaging.transpo
 rts.SocketTransport-class.html#__init__,Method qpid.messaging.transports.old_ssl.__init__()=qpid.messaging.transports.old_ssl-class.html#__init__,Method qpid.messaging.transports.tls.__init__()=qpid.messaging.transports.tls-class.html#__init__"><a title="qpid.messaging.constants.Constant.__init__
+qpid.messaging.driver.Attachment.__init__
+qpid.messaging.driver.Cache.__init__
+qpid.messaging.driver.Driver.__init__
+qpid.messaging.driver.Engine.__init__
+qpid.messaging.driver.Pattern.__init__
+qpid.messaging.driver.SessionState.__init__
+qpid.messaging.endpoints.Connection.__init__
+qpid.messaging.endpoints.Receiver.__init__
+qpid.messaging.endpoints.Sender.__init__
+qpid.messaging.endpoints.Session.__init__
+qpid.messaging.exceptions.MessagingError.__init__
+qpid.messaging.message.Disposition.__init__
+qpid.messaging.message.Message.__init__
+qpid.messaging.transports.SocketTransport.__init__
+qpid.messaging.transports.old_ssl.__init__
+qpid.messaging.transports.tls.__init__" class="py-name" href="#" onclick="return doclink('link-18', '__init__', 'link-18');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">    <tt class="py-comment"># List of all attributes</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">    <tt class="py-name">opt_keys</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'host'</tt><tt class="py-op">,</tt> <tt class="py-string">'transport'</tt><tt class="py-op">,</tt> <tt class="py-string">'port'</tt><tt class="py-op">,</tt> <tt class="py-string">'heartbeat'</tt><tt class="py-op">,</tt> <tt class="py-string">'username'</tt><tt class="py-op">,</tt> <tt class="py-string">'password'</tt><tt class="py-op">,</tt> <tt class="py-string">'sasl_mechanisms'</tt><tt class="py-op">,</tt> <tt class="py-string">'sasl_service'</tt><tt class="py-op">,</tt> <tt class="py-string">'sasl_min_ssf'</tt><tt class="py-op">,</tt> <tt class="py-string">'sasl_max_ssf'</tt><tt class="py-op">,</tt> <tt class="py-string">'reconnect'</tt><tt class="py-op">,</tt> <tt class="py-string">'reconnect_timeout'</tt><tt class="py-op">,</tt> <tt class="py-string">'reconnect_interval'</tt><tt class="py-op">,</tt>
  <tt class="py-string">'reconnect_interval_min'</tt><tt class="py-op">,</tt> <tt class="py-string">'reconnect_interval_max'</tt><tt class="py-op">,</tt> <tt class="py-string">'reconnect_limit'</tt><tt class="py-op">,</tt> <tt class="py-string">'reconnect_urls'</tt><tt class="py-op">,</tt> <tt class="py-string">'reconnect_log'</tt><tt class="py-op">,</tt> <tt class="py-string">'address_ttl'</tt><tt class="py-op">,</tt> <tt class="py-string">'tcp_nodelay'</tt><tt class="py-op">,</tt> <tt class="py-string">'ssl_keyfile'</tt><tt class="py-op">,</tt> <tt class="py-string">'ssl_certfile'</tt><tt class="py-op">,</tt> <tt class="py-string">'ssl_trustfile'</tt><tt class="py-op">,</tt> <tt class="py-string">'ssl_skip_hostname_check'</tt><tt class="py-op">,</tt> <tt class="py-string">'client_properties'</tt><tt class="py-op">,</tt> <tt class="py-string">'protocol'</tt> <tt class="py-op">]</tt> </tt>
+<a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line">    <tt class="py-comment"># Create all attributes on self and set to None.</tt> </tt>
+<a name="L180"></a><tt class="py-lineno"> 180</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">opt_keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">        <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line">    <tt class="py-comment"># Get values from options, check for invalid options</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">opt_keys</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line">            <tt class="py-name">setattr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-19" class="py-name" targets="Class qpid.messaging.exceptions.ConnectionError=qpid.messaging.exceptions.ConnectionError-class.html"><a title="qpid.messaging.exceptions.ConnectionError" class="py-name" href="#" onclick="return doclink('link-19', 'ConnectionError', 'link-19');">ConnectionError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Unknown connection option %s with value %s"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line"> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">    <tt class="py-comment"># Now handle items that need special treatment or have speical defaults:</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host</tt><tt class="py-op">:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">        <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line">        <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">URL</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">host</tt> <tt class="py-op">=</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">host</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line"> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transport</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">scheme</tt> <tt class="py-op">==</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">AMQP</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transport</tt> <tt class="py-op">=</tt> <tt class="py-string">"tcp"</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">      <tt class="py-keyword">elif</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">scheme</tt> <tt class="py-op">==</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">AMQPS</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transport</tt> <tt class="py-op">=</tt> <tt class="py-string">"ssl"</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">      <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transport</tt> <tt class="py-op">=</tt> <tt class="py-string">"tcp"</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">transport</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"ssl"</tt><tt class="py-op">,</tt> <tt class="py-string">"tcp+tls"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name" targets="Variable qpid.messaging.constants.AMQPS_PORT=qpid.messaging.constants-module.html#AMQPS_PORT"><a title="qpid.messaging.constants.AMQPS_PORT" class="py-name" href="#" onclick="return doclink('link-20', 'AMQPS_PORT', 'link-20');">AMQPS_PORT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">port</tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name" targets="Variable qpid.messaging.constants.AMQP_PORT=qpid.messaging.constants-module.html#AMQP_PORT"><a title="qpid.messaging.constants.AMQP_PORT" class="py-name" href="#" onclick="return doclink('link-21', 'AMQP_PORT', 'link-21');">AMQP_PORT</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line"> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">protocol</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">protocol</tt> <tt class="py-op">!=</tt> <tt class="py-string">"amqp0-10"</tt><tt class="py-op">:</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">        <tt class="py-keyword">raise</tt> <tt id="link-22" class="py-name"><a title="qpid.messaging.exceptions.ConnectionError" class="py-name" href="#" onclick="return doclink('link-22', 'ConnectionError', 'link-19');">ConnectionError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Connection option 'protocol' value '"</tt> <tt class="py-op">+</tt> <tt class="py-name">value</tt> <tt class="py-op">+</tt> <tt class="py-string">"' unsupported (must be amqp0-10)"</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">       </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">user</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">username</tt><tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">password</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">password</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">password</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">auth_username</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sasl_service</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sasl_service</tt><tt class="py-op">,</tt> <tt class="py-string">"qpidd"</tt><tt class="py-op">)</tt> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line"> </tt>
+<a name="L216"></a><tt class="py-lineno"> 216</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_interval_min</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_interval_min</tt><tt class="py-op">,</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line">                                          <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_interval</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_interval_max</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_interval_max</tt><tt class="py-op">,</tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line">                                          <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_interval</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">*</tt><tt class="py-number">60</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_urls</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_urls</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_log</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">reconnect_log</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line"> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">address_ttl</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">address_ttl</tt><tt class="py-op">,</tt> <tt class="py-number">60</tt><tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tcp_nodelay</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">tcp_nodelay</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line"> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssl_keyfile</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssl_keyfile</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssl_certfile</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssl_certfile</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssl_trustfile</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssl_trustfile</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">    <tt class="py-comment"># if ssl_skip_hostname_check was not explicitly set, this will be None</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ssl_skip_hostname_check_actual</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"ssl_skip_hostname_check"</tt><tt class="py-op">)</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssl_skip_hostname_check</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">ssl_skip_hostname_check</tt><tt class="py-op">,</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_properties</tt> <tt class="py-op">=</tt> <tt class="py-name">default</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">client_properties</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line"> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt class="py-name">options</tt> </tt>
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line"> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line"> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">uuid4</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sessions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_open</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_connected</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_transport_connected</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt> <tt class="py-op">=</tt> <tt class="py-name">RLock</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_condition</tt> <tt class="py-op">=</tt> <tt class="py-name">Condition</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_lock</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_waiter</tt> <tt class="py-op">=</tt> <tt class="py-name">Waiter</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_condition</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_modcount</tt> <tt class="py-op">=</tt> <tt class="py-name">Serial</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt id="link-23" class="py-name" targets="Module qpid.messaging.driver=qpid.messaging.driver-module.html"><a title="qpid.messaging.driver" class="py-name" href="#" onclick="return doclink('link-23', 'driver', 'link-23');">driver</a></tt> <tt class="py-keyword">import</tt> <tt id="link-24" class="py-name" targets="Class qpid.messaging.driver.Driver=qpid.messaging.driver.Driver-class.html"><a title="qpid.messaging.driver.Driver" class="py-name" href="#" onclick="return doclink('link-24', 'Driver', 'link-24');">Driver</a></tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_driver</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="qpid.messaging.driver.Driver" class="py-name" href="#" onclick="return doclink('link-25', 'Driver', 'link-24');">Driver</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line"> </tt>
+<a name="Connection._wait"></a><div id="Connection._wait-def"><a name="L251"></a><tt class="py-lineno"> 251</tt> <a class="py-toggle" href="#" id="Connection._wait-toggle" onclick="return toggle('Connection._wait');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#_wait">_wait</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">predicate</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection._wait-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection._wait-expanded"><a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_waiter</tt><tt class="py-op">.</tt><tt class="py-name">wait</tt><tt class="py-op">(</tt><tt class="py-name">predicate</tt><tt class="py-op">,</tt> <tt id="link-26" class="py-name"><a title="qpid.messaging.driver.Driver.timeout" class="py-name" href="#" onclick="return doclink('link-26', 'timeout', 'link-8');">timeout</a></tt><tt class="py-op">=</tt><tt id="link-27" class="py-name"><a title="qpid.messaging.driver.Driver.timeout" class="py-name" href="#" onclick="return doclink('link-27', 'timeout', 'link-8');">timeout</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line"> </tt>
+<a name="Connection._wakeup"></a><div id="Connection._wakeup-def"><a name="L254"></a><tt class="py-lineno"> 254</tt> <a class="py-toggle" href="#" id="Connection._wakeup-toggle" onclick="return toggle('Connection._wakeup');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#_wakeup">_wakeup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection._wakeup-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection._wakeup-expanded"><a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_modcount</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_driver</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name" targets="Method qpid.messaging.driver.Driver.wakeup()=qpid.messaging.driver.Driver-class.html#wakeup"><a title="qpid.messaging.driver.Driver.wakeup" class="py-name" href="#" onclick="return doclink('link-28', 'wakeup', 'link-28');">wakeup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line"> </tt>
+<a name="Connection.check_error"></a><div id="Connection.check_error-def"><a name="L258"></a><tt class="py-lineno"> 258</tt> <a class="py-toggle" href="#" id="Connection.check_error-toggle" onclick="return toggle('Connection.check_error');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#check_error">check_error</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection.check_error-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection.check_error-expanded"><a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">error</tt><tt class="py-op">:</tt> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_condition</tt><tt class="py-op">.</tt><tt class="py-name">gc</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">      <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">error</tt> </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">      <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt id="link-29" class="py-name" targets="Class qpid.messaging.exceptions.ContentError=qpid.messaging.exceptions.ContentError-class.html"><a title="qpid.messaging.exceptions.ContentError" class="py-name" href="#" onclick="return doclink('link-29', 'ContentError', 'link-29');">ContentError</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">          <tt class="py-string">""" forget the content error. It will be</tt> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line"><tt class="py-string">          raised this time but won't block future calls</tt> </tt>
+<a name="L265"></a><tt class="py-lineno"> 265</tt>  <tt class="py-line"><tt class="py-string">          """</tt> </tt>
+<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">error</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt class="py-name">e</tt> </tt>
+</div><a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line"> </tt>
+<a name="Connection.get_error"></a><div id="Connection.get_error-def"><a name="L269"></a><tt class="py-lineno"> 269</tt> <a class="py-toggle" href="#" id="Connection.get_error-toggle" onclick="return toggle('Connection.get_error');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#get_error">get_error</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection.get_error-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection.get_error-expanded"><a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">error</tt> </tt>
+</div><a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line"> </tt>
+<a name="Connection._ewait"></a><div id="Connection._ewait-def"><a name="L272"></a><tt class="py-lineno"> 272</tt> <a class="py-toggle" href="#" id="Connection._ewait-toggle" onclick="return toggle('Connection._ewait');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#_ewait">_ewait</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">predicate</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection._ewait-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection._ewait-expanded"><a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">    <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wait</tt><tt class="py-op">(</tt><tt class="py-keyword">lambda</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">error</tt> <tt class="py-keyword">or</tt> <tt class="py-name">predicate</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-30" class="py-name"><a title="qpid.messaging.driver.Driver.timeout" class="py-name" href="#" onclick="return doclink('link-30', 'timeout', 'link-8');">timeout</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method qpid.messaging.endpoints.Connection.check_error()=qpid.messaging.endpoints.Connection-class.html#check_error,Method qpid.messaging.endpoints.Receiver.check_error()=qpid.messaging.endpoints.Receiver-class.html#check_error,Method qpid.messaging.endpoints.Sender.check_error()=qpid.messaging.endpoints.Sender-class.html#check_error,Method qpid.messaging.endpoints.Session.check_error()=qpid.messaging.endpoints.Session-class.html#check_error"><a title="qpid.messaging.endpoints.Connection.check_error
+qpid.messaging.endpoints.Receiver.check_error
+qpid.messaging.endpoints.Sender.check_error
+qpid.messaging.endpoints.Session.check_error" class="py-name" href="#" onclick="return doclink('link-31', 'check_error', 'link-31');">check_error</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
+</div><a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"> </tt>
+<a name="Connection.check_closed"></a><div id="Connection.check_closed-def"><a name="L277"></a><tt class="py-lineno"> 277</tt> <a class="py-toggle" href="#" id="Connection.check_closed-toggle" onclick="return toggle('Connection.check_closed');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#check_closed">check_closed</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection.check_closed-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection.check_closed-expanded"><a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_connected</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_condition</tt><tt class="py-op">.</tt><tt class="py-name">gc</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">      <tt class="py-keyword">raise</tt> <tt id="link-32" class="py-name" targets="Class qpid.messaging.exceptions.ConnectionClosed=qpid.messaging.exceptions.ConnectionClosed-class.html"><a title="qpid.messaging.exceptions.ConnectionClosed" class="py-name" href="#" onclick="return doclink('link-32', 'ConnectionClosed', 'link-32');">ConnectionClosed</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line"> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">synchronized</tt> </tt>
+<a name="Connection.session"></a><div id="Connection.session-def"><a name="L283"></a><tt class="py-lineno"> 283</tt> <a class="py-toggle" href="#" id="Connection.session-toggle" onclick="return toggle('Connection.session');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#session">session</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">transactional</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection.session-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection.session-expanded"><a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line"><tt class="py-docstring">    Creates or retrieves the named session. If the name is omitted or</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line"><tt class="py-docstring">    None, then a unique name is chosen based on a randomly generated</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line"><tt class="py-docstring">    uuid.</tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line"><tt class="py-docstring">    @type name: str</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line"><tt class="py-docstring">    @param name: the session name</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype: Session</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line"><tt class="py-docstring">    @return: the named Session</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line"> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-33" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-33', 'name', 'link-11');">name</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">      <tt id="link-34" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-34', 'name', 'link-11');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"%s:%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_counter</tt><tt class="py-op">)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">session_counter</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">      <tt id="link-35" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-35', 'name', 'link-11');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"%s:%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">,</tt> <tt id="link-36" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-36', 'name', 'link-11');">name</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line"> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sessions</tt><tt class="py-op">.</tt><tt class="py-name">has_key</tt><tt class="py-op">(</tt><tt id="link-37" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-37', 'name', 'link-11');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sessions</tt><tt class="py-op">[</tt><tt id="link-38" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-38', 'name', 'link-11');">name</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">      <tt class="py-name">ssn</tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name" targets="Class qpid.messaging.endpoints.Session=qpid.messaging.endpoints.Session-class.html"><a title="qpid.messaging.endpoints.Session" class="py-name" href="#" onclick="return doclink('link-39', 'Session', 'link-39');">Session</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">,</tt> <tt id="link-40" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-40', 'name', 'link-11');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">transactional</tt><tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sessions</tt><tt class="py-op">[</tt><tt id="link-41" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-41', 'name', 'link-11');">name</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">ssn</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_wakeup</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">      <tt class="py-keyword">return</tt> <tt class="py-name">ssn</tt> </tt>
+</div><a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line"> </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">synchronized</tt> </tt>
+<a name="Connection._remove_session"></a><div id="Connection._remove_session-def"><a name="L310"></a><tt class="py-lineno"> 310</tt> <a class="py-toggle" href="#" id="Connection._remove_session-toggle" onclick="return toggle('Connection._remove_session');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#_remove_session">_remove_session</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ssn</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection._remove_session-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Connection._remove_session-expanded"><a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sessions</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-name">ssn</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-42', 'name', 'link-11');">name</a></tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line"> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line">  <tt class="py-decorator">@</tt><tt class="py-decorator">synchronized</tt> </tt>
+<a name="Connection.open"></a><div id="Connection.open-def"><a name="L314"></a><tt class="py-lineno"> 314</tt> <a class="py-toggle" href="#" id="Connection.open-toggle" onclick="return toggle('Connection.open');">-</a><tt class="py-line">  <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.endpoints.Connection-class.html#open">open</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">timeout</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="Connection.open-collapsed" style="display:none;" pad="++++" in

<TRUNCATED>

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