http://git-wip-us.apache.org/repos/asf/qpid-site/blob/55375a76/content/releases/qpid-python-1.36.0/messaging-api/api/qpid.messaging.driver-pysrc.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-python-1.36.0/messaging-api/api/qpid.messaging.driver-pysrc.html b/content/releases/qpid-python-1.36.0/messaging-api/api/qpid.messaging.driver-pysrc.html new file mode 100755 index 0000000..ade4854 --- /dev/null +++ b/content/releases/qpid-python-1.36.0/messaging-api/api/qpid.messaging.driver-pysrc.html @@ -0,0 +1,1729 @@ +<?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.driver</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> <a + href="qpid.messaging-module.html">Home</a> </th> + + <!-- Tree link --> + <th> <a + href="module-tree.html">Trees</a> </th> + + <!-- Index link --> + <th> <a + href="identifier-index.html">Indices</a> </th> + + <!-- Help link --> + <th> <a + href="help.html">Help</a> </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 qpid :: + <a href="qpid.messaging-module.html">Package messaging</a> :: + Module driver + </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 + >] | <a href="qpid.messaging.driver-pysrc.html" + target="_top">no frames</a>]</span></td></tr> + </table> + </td> + </tr> +</table> +<h1 class="epydoc">Source Code for <a href="qpid.messaging.driver-module.html">Module qpid.messaging.driver</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-keyword">import</tt> <tt class="py-name">socket</tt><tt class="py-op">,</tt> <tt class="py-name">struct</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt><tt class="py-op">,</tt> <tt class="py-name">time</tt> </tt> +<a name="L21"></a><tt class="py-lineno"> 21</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 class="py-op">,</tt> <tt class="py-name">DEBUG</tt> </tt> +<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt> <tt class="py-keyword">import</tt> <tt class="py-name">compat</tt> </tt> +<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">qpid</tt> <tt class="py-keyword">import</tt> <tt class="py-name">sasl</tt> </tt> +<a name="L24"></a><tt class="py-lineno"> 24</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> +<a name="L25"></a><tt class="py-lineno"> 25</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">RangedSet</tt><tt class="py-op">,</tt> <tt class="py-name">Serial</tt> </tt> +<a name="L26"></a><tt class="py-lineno"> 26</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">framing</tt> <tt class="py-keyword">import</tt> <tt class="py-name">OpEncoder</tt><tt class="py-op">,</tt> <tt class="py-name">SegmentEncoder</tt><tt class="py-op">,</tt> <tt class="py-name">FrameEncoder</tt><tt class="py-op">,</tt> \ </tt> +<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt class="py-name">FrameDecoder</tt><tt class="py-op">,</tt> <tt class="py-name">SegmentDecoder</tt><tt class="py-op">,</tt> <tt class="py-name">OpDecoder</tt> </tt> +<a name="L28"></a><tt class="py-lineno"> 28</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-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module qpid.messaging.address=qpid.messaging.address-module.html"><a title="qpid.messaging.address" class="py-name" href="#" onclick="return doclink('link-1', 'address', 'link-1');">address</a></tt><tt class="py-op">,</tt> <tt id="link-2" class="py-name" targets="Module qpid.messaging.transports=qpid.messaging.transports-module.html"><a title="qpid.messaging.transports" class="py-name" href="#" onclick="return doclink('link-2', 'transports', 'link-2');">transports</a></tt> </tt> +<a name="L29"></a><tt class="py-lineno"> 29</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-3" class="py-name"><a title="qpid.messaging" class="py-name" href="#" onclick="return doclink('link-3', 'messaging', 'link-0');">messaging</a></tt><tt class="py-op">.</tt><tt id="link-4" 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-4', 'constants', 'link-4');">constants</a></tt> <tt class="py-keyword">import</tt> <tt id="link-5" class="py-name" targets="Variable qpid.messaging.constants.UNLIMITED=qpid.messaging.constants-module.html#UNLIMITED"><a title="qpid.messaging.constants.UNLIMITED" class="py-name" href="#" onclick="return doclink('link-5', 'UNLIMITED', 'link-5');">UNLIMITED</a></tt><tt class="py-op">,</tt> <tt id="link-6" class="py-name" targets="Variable qpid.messaging. constants.REJECTED=qpid.messaging.constants-module.html#REJECTED"><a title="qpid.messaging.constants.REJECTED" class="py-name" href="#" onclick="return doclink('link-6', 'REJECTED', 'link-6');">REJECTED</a></tt><tt class="py-op">,</tt> <tt id="link-7" class="py-name" targets="Variable qpid.messaging.constants.RELEASED=qpid.messaging.constants-module.html#RELEASED"><a title="qpid.messaging.constants.RELEASED" class="py-name" href="#" onclick="return doclink('link-7', 'RELEASED', 'link-7');">RELEASED</a></tt> </tt> +<a name="L30"></a><tt class="py-lineno"> 30</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-8" class="py-name"><a title="qpid.messaging" class="py-name" href="#" onclick="return doclink('link-8', 'messaging', 'link-0');">messaging</a></tt><tt class="py-op">.</tt><tt id="link-9" 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-9', 'exceptions', 'link-9');">exceptions</a></tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</tt> </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">qpid</tt><tt class="py-op">.</tt><tt id="link-10" class="py-name"><a title="qpid.messaging" class="py-name" href="#" onclick="return doclink('link-10', 'messaging', 'link-0');">messaging</a></tt><tt class="py-op">.</tt><tt id="link-11" 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-11', 'message', 'link-11');">message</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">get_codec</tt><tt class="py-op">,</tt> <tt id="link-12" class="py-name" targets="Class qpid.messaging.message.Disposition=qpid.messaging.message.Disposition-class.html"><a title="qpid.messaging.message.Disposition" class="py-name" href="#" onclick="return doclink('link-12', 'Disposition', 'link-12');">Disposition</a></tt><tt class="py-op">,</tt> <tt id=" link-13" class="py-name" targets="Class qpid.messaging.message.Message=qpid.messaging.message.Message-class.html"><a title="qpid.messaging.message.Message" class="py-name" href="#" onclick="return doclink('link-13', 'Message', 'link-13');">Message</a></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">qpid</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name"><a title="qpid.messaging" class="py-name" href="#" onclick="return doclink('link-14', 'messaging', 'link-0');">messaging</a></tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Module qpid.messaging.endpoints=qpid.messaging.endpoints-module.html"><a title="qpid.messaging.endpoints" class="py-name" href="#" onclick="return doclink('link-15', 'endpoints', 'link-15');">endpoints</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">MangledString</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">ops</tt> <tt class="py-keyword">import</tt> <tt class="py-op">*</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">selector</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Selector</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 id="link-16" 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-16', 'util', 'link-16');">util</a></tt> <tt class="py-keyword">import</tt> <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">get_client_properties_with_defaults</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 class="py-name">validator</tt> <tt class="py-keyword">import</tt> <tt class="py-name">And</tt><tt class="py-op">,</tt> <tt class="py-name">Context</tt><tt class="py-op">,</tt> <tt class="py-name">List</tt><tt class="py-op">,</tt> <tt class="py-name">Map</tt><tt class="py-op">,</tt> <tt class="py-name">Types</tt><tt class="py-op">,</tt> <tt class="py-name">Values</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">threading</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Condition</tt><tt class="py-op">,</tt> <tt class="py-name">Thread</tt> </tt> +<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> </tt> +<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"><tt id="link-17" 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-17', 'log', 'link-17');">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="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt id="link-18" class="py-name" targets="Variable qpid.messaging.driver.rawlog=qpid.messaging.driver-module.html#rawlog"><a title="qpid.messaging.driver.rawlog" class="py-name" href="#" onclick="return doclink('link-18', 'rawlog', 'link-18');">rawlog</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"qpid.messaging.io.raw"</tt><tt class="py-op">)</tt> </tt> +<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"><tt id="link-19" class="py-name" targets="Variable qpid.messaging.driver.opslog=qpid.messaging.driver-module.html#opslog"><a title="qpid.messaging.driver.opslog" class="py-name" href="#" onclick="return doclink('link-19', 'opslog', 'link-19');">opslog</a></tt> <tt class="py-op">=</tt> <tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"qpid.messaging.io.ops"</tt><tt class="py-op">)</tt> </tt> +<a name="addr2reply_to"></a><div id="addr2reply_to-def"><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> <a class="py-toggle" href="#" id="addr2reply_to-toggle" onclick="return toggle('addr2reply_to');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver-module.html#addr2reply_to">addr2reply_to</a><tt class="py-op">(</tt><tt class="py-param">addr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="addr2reply_to-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="addr2reply_to-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-20" 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-20', 'name', 'link-20');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">subject</tt><tt class="py-op">,</tt> <tt class="py-name">options</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="qpid.messaging.address" class="py-name" href="#" onclick="return doclink('link-21', 'address', 'link-1');">address</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Function qpid.messaging.address.parse()=qpid.messaging.address-module.html#parse"><a title="qpid.messaging.address.parse" class="py-name" href="#" onclick="return doclink('link -22', 'parse', 'link-22');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">addr</tt><tt class="py-op">)</tt> </tt> +<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">options</tt><tt class="py-op">:</tt> </tt> +<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">type</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">"node"</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"type"</tt><tt class="py-op">)</tt> </tt> +<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> +<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt class="py-name">type</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> +<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> </tt> +<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-string">"topic"</tt><tt class="py-op">:</tt> </tt> +<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ReplyTo</tt><tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-23', 'name', 'link-20');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">subject</tt><tt class="py-op">)</tt> </tt> +<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> +<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">ReplyTo</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-24" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-24', 'name', 'link-20');">name</a></tt><tt class="py-op">)</tt> </tt> +</div><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> </tt> +<a name="reply_to2addr"></a><div id="reply_to2addr-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="reply_to2addr-toggle" onclick="return toggle('reply_to2addr');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver-module.html#reply_to2addr">reply_to2addr</a><tt class="py-op">(</tt><tt class="py-param">reply_to</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="reply_to2addr-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="reply_to2addr-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">reply_to</tt><tt class="py-op">.</tt><tt class="py-name">exchange</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">reply_to</tt><tt class="py-op">.</tt><tt class="py-name">routing_key</tt> </tt> +<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">reply_to</tt><tt class="py-op">.</tt><tt class="py-name">routing_key</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</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-string">"%s; {node: {type: topic}}"</tt> <tt class="py-op">%</tt> <tt class="py-name">reply_to</tt><tt class="py-op">.</tt><tt class="py-name">exchange</tt> </tt> +<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> +<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">"%s/%s; {node: {type: topic}}"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">reply_to</tt><tt class="py-op">.</tt><tt class="py-name">exchange</tt><tt class="py-op">,</tt> <tt class="py-name">reply_to</tt><tt class="py-op">.</tt><tt class="py-name">routing_key</tt><tt class="py-op">)</tt> </tt> +</div><a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt> +<a name="Attachment"></a><div id="Attachment-def"><a name="L63"></a><tt class="py-lineno"> 63</tt> <a class="py-toggle" href="#" id="Attachment-toggle" onclick="return toggle('Attachment');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="qpid.messaging.driver.Attachment-class.html">Attachment</a><tt class="py-op">:</tt> </tt> +</div><div id="Attachment-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Attachment-expanded"><a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> </tt> +<a name="Attachment.__init__"></a><div id="Attachment.__init__-def"><a name="L65"></a><tt class="py-lineno"> 65</tt> <a class="py-toggle" href="#" id="Attachment.__init__-toggle" onclick="return toggle('Attachment.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.Attachment-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">target</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="Attachment.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Attachment.__init__-expanded"><a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">target</tt> <tt class="py-op">=</tt> <tt class="py-name">target</tt> </tt> +</div></div><a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt> +<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-comment"># XXX</tt> </tt> +<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> </tt> +<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt id="link-25" class="py-name" targets="Variable qpid.messaging.driver.DURABLE_DEFAULT=qpid.messaging.driver-module.html#DURABLE_DEFAULT"><a title="qpid.messaging.driver.DURABLE_DEFAULT" class="py-name" href="#" onclick="return doclink('link-25', 'DURABLE_DEFAULT', 'link-25');">DURABLE_DEFAULT</a></tt><tt class="py-op">=</tt><tt class="py-name">False</tt> </tt> +<a name="Pattern"></a><div id="Pattern-def"><a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> </tt> +<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-comment"># XXX</tt> </tt> +<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> </tt> +<a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="Pattern-toggle" onclick="return toggle('Pattern');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="qpid.messaging.driver.Pattern-class.html">Pattern</a><tt class="py-op">:</tt> </tt> +</div><div id="Pattern-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="Pattern-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt> +<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"> The pattern filter matches the supplied wildcard pattern against a</tt> </tt> +<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"> message subject.</tt> </tt> +<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt> +<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt> +<a name="Pattern.__init__"></a><div id="Pattern.__init__-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="Pattern.__init__-toggle" onclick="return toggle('Pattern.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.Pattern-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">value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="Pattern.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Pattern.__init__-expanded"><a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt> +</div><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt> +<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-comment"># XXX: this should become part of the driver</tt> </tt> +<a name="Pattern._bind"></a><div id="Pattern._bind-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="Pattern._bind-toggle" onclick="return toggle('Pattern._bind');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.Pattern-class.html#_bind">_bind</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sst</tt><tt class="py-op">,</tt> <tt class="py-param">exchange</tt><tt class="py-op">,</tt> <tt class="py-param">queue</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="Pattern._bind-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="Pattern._bind-expanded"><a name="L85"></a><tt class="py-lineno"> 85</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">ExchangeBind</tt> </tt> +<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt> +<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">sst</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method qpid.messaging.driver.SessionState.write_cmd()=qpid.messaging.driver.SessionState-class.html#write_cmd"><a title="qpid.messaging.driver.SessionState.write_cmd" class="py-name" href="#" onclick="return doclink('link-26', 'write_cmd', 'link-26');">write_cmd</a></tt><tt class="py-op">(</tt><tt class="py-name">ExchangeBind</tt><tt class="py-op">(</tt><tt class="py-name">exchange</tt><tt class="py-op">=</tt><tt class="py-name">exchange</tt><tt class="py-op">,</tt> <tt class="py-name">queue</tt><tt class="py-op">=</tt><tt class="py-name">queue</tt><tt class="py-op">,</tt> </tt> +<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">binding_key</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 class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"*"</tt><tt class="py-op">,</tt> <tt class="py-string">"#"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> +</div></div><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> </tt> +<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt id="link-27" class="py-name" targets="Variable qpid.messaging.driver.SUBJECT_DEFAULTS=qpid.messaging.driver-module.html#SUBJECT_DEFAULTS"><a title="qpid.messaging.driver.SUBJECT_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-27', 'SUBJECT_DEFAULTS', 'link-27');">SUBJECT_DEFAULTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt> +<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-string">"topic"</tt><tt class="py-op">:</tt> <tt class="py-string">"#"</tt> </tt> +<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt> +<a name="noop"></a><div id="noop-def"><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> </tt> +<a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="noop-toggle" onclick="return toggle('noop');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver-module.html#noop">noop</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt> +</div><a name="sync_noop"></a><div id="sync_noop-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="sync_noop-toggle" onclick="return toggle('sync_noop');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver-module.html#sync_noop">sync_noop</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-keyword">pass</tt> </tt> +</div><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt> +<a name="SessionState"></a><div id="SessionState-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="SessionState-toggle" onclick="return toggle('SessionState');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="qpid.messaging.driver.SessionState-class.html">SessionState</a><tt class="py-op">:</tt> </tt> +</div><div id="SessionState-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SessionState-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> </tt> +<a name="SessionState.__init__"></a><div id="SessionState.__init__-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="SessionState.__init__-toggle" onclick="return toggle('SessionState.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.SessionState-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">driver</tt><tt class="py-op">,</tt> <tt class="py-param">session</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">channel</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="SessionState.__init__-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="SessionState.__init__-expanded"><a name="L100"></a><tt class="py-lineno"> 100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" 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-28', 'driver', 'link-28');">driver</a></tt> <tt class="py-op">=</tt> <tt id="link-29" class="py-name"><a title="qpid.messaging.driver" class="py-name" href="#" onclick="return doclink('link-29', 'driver', 'link-28');">driver</a></tt> </tt> +<a name="L101"></a><tt class="py-lineno"> 101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method qpid.messaging.endpoints.Connection.session()=qpid.messaging.endpoints.Connection-class.html#session"><a title="qpid.messaging.endpoints.Connection.session" class="py-name" href="#" onclick="return doclink('link-30', 'session', 'link-30');">session</a></tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name"><a title="qpid.messaging.endpoints.Connection.session" class="py-name" href="#" onclick="return doclink('link-31', 'session', 'link-30');">session</a></tt> </tt> +<a name="L102"></a><tt class="py-lineno"> 102</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-32', 'name', 'link-20');">name</a></tt> <tt class="py-op">=</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-20');">name</a></tt> </tt> +<a name="L103"></a><tt class="py-lineno"> 103</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel</tt> <tt class="py-op">=</tt> <tt class="py-name">channel</tt> </tt> +<a name="L104"></a><tt class="py-lineno"> 104</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">detached</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt> +<a name="L105"></a><tt class="py-lineno"> 105</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">committing</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt> +<a name="L106"></a><tt class="py-lineno"> 106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">aborting</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt> +<a name="L107"></a><tt class="py-lineno"> 107</tt> <tt class="py-line"> </tt> +<a name="L108"></a><tt class="py-lineno"> 108</tt> <tt class="py-line"> <tt class="py-comment"># sender state</tt> </tt> +<a name="L109"></a><tt class="py-lineno"> 109</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sent</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="L110"></a><tt class="py-lineno"> 110</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">acknowledged</tt> <tt class="py-op">=</tt> <tt class="py-name">RangedSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> +<a name="L111"></a><tt class="py-lineno"> 111</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">actions</tt> <tt class="py-op">=</tt> <tt class="py-op">{</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">self</tt><tt class="py-op">.</tt><tt class="py-name">min_completion</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sent</tt> </tt> +<a name="L113"></a><tt class="py-lineno"> 113</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_completion</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sent</tt> </tt> +<a name="L114"></a><tt class="py-lineno"> 114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> +<a name="L115"></a><tt class="py-lineno"> 115</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">need_sync</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt> +<a name="L116"></a><tt class="py-lineno"> 116</tt> <tt class="py-line"> </tt> +<a name="L117"></a><tt class="py-lineno"> 117</tt> <tt class="py-line"> <tt class="py-comment"># receiver state</tt> </tt> +<a name="L118"></a><tt class="py-lineno"> 118</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">received</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt> +<a name="L119"></a><tt class="py-lineno"> 119</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">executed</tt> <tt class="py-op">=</tt> <tt class="py-name">RangedSet</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> +<a name="L120"></a><tt class="py-lineno"> 120</tt> <tt class="py-line"> </tt> +<a name="L121"></a><tt class="py-lineno"> 121</tt> <tt class="py-line"> <tt class="py-comment"># XXX: need to periodically exchange completion/known_completion</tt> </tt> +<a name="L122"></a><tt class="py-lineno"> 122</tt> <tt class="py-line"> </tt> +<a name="L123"></a><tt class="py-lineno"> 123</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">destinations</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt> +</div><a name="L124"></a><tt class="py-lineno"> 124</tt> <tt class="py-line"> </tt> +<a name="SessionState.write_query"></a><div id="SessionState.write_query-def"><a name="L125"></a><tt class="py-lineno"> 125</tt> <a class="py-toggle" href="#" id="SessionState.write_query-toggle" onclick="return toggle('SessionState.write_query');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.SessionState-class.html#write_query">write_query</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">query</tt><tt class="py-op">,</tt> <tt class="py-param">handler</tt><tt class="py-op">,</tt> <tt class="py-param">obj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="SessionState.write_query-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="SessionState.write_query-expanded"><a name="L126"></a><tt class="py-lineno"> 126</tt> <tt class="py-line"> <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">sent</tt> </tt> +<a name="L127"></a><tt class="py-lineno"> 127</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="qpid.messaging.driver.SessionState.write_cmd" class="py-name" href="#" onclick="return doclink('link-34', 'write_cmd', 'link-26');">write_cmd</a></tt><tt class="py-op">(</tt><tt class="py-name">query</tt><tt class="py-op">,</tt> <tt class="py-keyword">lambda</tt><tt class="py-op">:</tt> <tt class="py-name">handler</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">results</tt><tt class="py-op">.</tt><tt class="py-name">pop</tt><tt class="py-op">(</tt><tt class="py-name">id</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">obj</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> +</div><a name="L128"></a><tt class="py-lineno"> 128</tt> <tt class="py-line"> </tt> +<a name="SessionState.apply_overrides"></a><div id="SessionState.apply_overrides-def"><a name="L129"></a><tt class="py-lineno"> 129</tt> <a class="py-toggle" href="#" id="SessionState.apply_overrides-toggle" onclick="return toggle('SessionState.apply_overrides');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.SessionState-class.html#apply_overrides">apply_overrides</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cmd</tt><tt class="py-op">,</tt> <tt class="py-param">overrides</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="SessionState.apply_overrides-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="SessionState.apply_overrides-expanded"><a name="L130"></a><tt class="py-lineno"> 130</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">overrides</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +<a name="L131"></a><tt class="py-lineno"> 131</tt> <tt class="py-line"> <tt class="py-name">cmd</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'-'</tt><tt class="py-op">,</tt> <tt class="py-string">'_'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">v</tt> </tt> +</div><a name="L132"></a><tt class="py-lineno"> 132</tt> <tt class="py-line"> </tt> +<a name="SessionState.write_cmd"></a><div id="SessionState.write_cmd-def"><a name="L133"></a><tt class="py-lineno"> 133</tt> <a class="py-toggle" href="#" id="SessionState.write_cmd-toggle" onclick="return toggle('SessionState.write_cmd');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.SessionState-class.html#write_cmd">write_cmd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cmd</tt><tt class="py-op">,</tt> <tt class="py-param">action</tt><tt class="py-op">=</tt><tt id="link-35" class="py-name" targets="Function qpid.messaging.driver.noop()=qpid.messaging.driver-module.html#noop"><a title="qpid.messaging.driver.noop" class="py-name" href="#" onclick="return doclink('link-35', 'noop', 'link-35');">noop</a></tt><tt class="py-op">,</tt> <tt class="py-param">overrides</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param ">sync</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="SessionState.write_cmd-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="SessionState.write_cmd-expanded"><a name="L134"></a><tt class="py-lineno"> 134</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">overrides</tt><tt class="py-op">:</tt> </tt> +<a name="L135"></a><tt class="py-lineno"> 135</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method qpid.messaging.driver.SessionState.apply_overrides()=qpid.messaging.driver.SessionState-class.html#apply_overrides"><a title="qpid.messaging.driver.SessionState.apply_overrides" class="py-name" href="#" onclick="return doclink('link-36', 'apply_overrides', 'link-36');">apply_overrides</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">,</tt> <tt class="py-name">overrides</tt><tt class="py-op">)</tt> </tt> +<a name="L136"></a><tt class="py-lineno"> 136</tt> <tt class="py-line"> </tt> +<a name="L137"></a><tt class="py-lineno"> 137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">action</tt> <tt class="py-op">!=</tt> <tt id="link-37" class="py-name"><a title="qpid.messaging.driver.noop" class="py-name" href="#" onclick="return doclink('link-37', 'noop', 'link-35');">noop</a></tt><tt class="py-op">:</tt> </tt> +<a name="L138"></a><tt class="py-lineno"> 138</tt> <tt class="py-line"> <tt class="py-name">cmd</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method qpid.messaging.endpoints.Sender.sync()=qpid.messaging.endpoints.Sender-class.html#sync,Method qpid.messaging.endpoints.Session.sync()=qpid.messaging.endpoints.Session-class.html#sync"><a title="qpid.messaging.endpoints.Sender.sync +qpid.messaging.endpoints.Session.sync" class="py-name" href="#" onclick="return doclink('link-38', 'sync', 'link-38');">sync</a></tt> <tt class="py-op">=</tt> <tt id="link-39" class="py-name"><a title="qpid.messaging.endpoints.Sender.sync +qpid.messaging.endpoints.Session.sync" class="py-name" href="#" onclick="return doclink('link-39', 'sync', 'link-38');">sync</a></tt> </tt> +<a name="L139"></a><tt class="py-lineno"> 139</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">detached</tt><tt class="py-op">:</tt> </tt> +<a name="L140"></a><tt class="py-lineno"> 140</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"detached"</tt><tt class="py-op">)</tt> </tt> +<a name="L141"></a><tt class="py-lineno"> 141</tt> <tt class="py-line"> <tt class="py-name">cmd</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">sent</tt> </tt> +<a name="L142"></a><tt class="py-lineno"> 142</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sent</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt> +<a name="L143"></a><tt class="py-lineno"> 143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">actions</tt><tt class="py-op">[</tt><tt class="py-name">cmd</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">action</tt> </tt> +<a name="L144"></a><tt class="py-lineno"> 144</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">max_completion</tt> <tt class="py-op">=</tt> <tt class="py-name">cmd</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> </tt> +<a name="L145"></a><tt class="py-lineno"> 145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Method qpid.messaging.driver.Engine.write_op()=qpid.messaging.driver.Engine-class.html#write_op,Method qpid.messaging.driver.SessionState.write_op()=qpid.messaging.driver.SessionState-class.html#write_op"><a title="qpid.messaging.driver.Engine.write_op +qpid.messaging.driver.SessionState.write_op" class="py-name" href="#" onclick="return doclink('link-40', 'write_op', 'link-40');">write_op</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt> +<a name="L146"></a><tt class="py-lineno"> 146</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">need_sync</tt> <tt class="py-op">=</tt> <tt class="py-keyword">not</tt> <tt class="py-name">cmd</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="qpid.messaging.endpoints.Sender.sync +qpid.messaging.endpoints.Session.sync" class="py-name" href="#" onclick="return doclink('link-41', 'sync', 'link-38');">sync</a></tt> </tt> +</div><a name="L147"></a><tt class="py-lineno"> 147</tt> <tt class="py-line"> </tt> +<a name="SessionState.write_cmds"></a><div id="SessionState.write_cmds-def"><a name="L148"></a><tt class="py-lineno"> 148</tt> <a class="py-toggle" href="#" id="SessionState.write_cmds-toggle" onclick="return toggle('SessionState.write_cmds');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.SessionState-class.html#write_cmds">write_cmds</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">cmds</tt><tt class="py-op">,</tt> <tt class="py-param">action</tt><tt class="py-op">=</tt><tt id="link-42" class="py-name"><a title="qpid.messaging.driver.noop" class="py-name" href="#" onclick="return doclink('link-42', 'noop', 'link-35');">noop</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="SessionState.write_cmds-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="SessionState.write_cmds-expanded"><a name="L149"></a><tt class="py-lineno"> 149</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">cmds</tt><tt class="py-op">:</tt> </tt> +<a name="L150"></a><tt class="py-lineno"> 150</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">cmd</tt> <tt class="py-keyword">in</tt> <tt class="py-name">cmds</tt><tt class="py-op">[</tt><tt class="py-op">:</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="L151"></a><tt class="py-lineno"> 151</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="qpid.messaging.driver.SessionState.write_cmd" class="py-name" href="#" onclick="return doclink('link-43', 'write_cmd', 'link-26');">write_cmd</a></tt><tt class="py-op">(</tt><tt class="py-name">cmd</tt><tt class="py-op">)</tt> </tt> +<a name="L152"></a><tt class="py-lineno"> 152</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="qpid.messaging.driver.SessionState.write_cmd" class="py-name" href="#" onclick="return doclink('link-44', 'write_cmd', 'link-26');">write_cmd</a></tt><tt class="py-op">(</tt><tt class="py-name">cmds</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">action</tt><tt class="py-op">)</tt> </tt> +<a name="L153"></a><tt class="py-lineno"> 153</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> +<a name="L154"></a><tt class="py-lineno"> 154</tt> <tt class="py-line"> <tt class="py-name">action</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> +</div><a name="L155"></a><tt class="py-lineno"> 155</tt> <tt class="py-line"> </tt> +<a name="SessionState.write_op"></a><div id="SessionState.write_op-def"><a name="L156"></a><tt class="py-lineno"> 156</tt> <a class="py-toggle" href="#" id="SessionState.write_op-toggle" onclick="return toggle('SessionState.write_op');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.SessionState-class.html#write_op">write_op</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">op</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="SessionState.write_op-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="SessionState.write_op-expanded"><a name="L157"></a><tt class="py-lineno"> 157</tt> <tt class="py-line"> <tt class="py-name">op</tt><tt class="py-op">.</tt><tt class="py-name">channel</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">channel</tt> </tt> +<a name="L158"></a><tt class="py-lineno"> 158</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="qpid.messaging.driver" class="py-name" href="#" onclick="return doclink('link-45', 'driver', 'link-28');">driver</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="qpid.messaging.driver.Engine.write_op +qpid.messaging.driver.SessionState.write_op" class="py-name" href="#" onclick="return doclink('link-46', 'write_op', 'link-40');">write_op</a></tt><tt class="py-op">(</tt><tt class="py-name">op</tt><tt class="py-op">)</tt> </tt> +</div></div><a name="L159"></a><tt class="py-lineno"> 159</tt> <tt class="py-line"> </tt> +<a name="L160"></a><tt class="py-lineno"> 160</tt> <tt class="py-line"><tt id="link-47" class="py-name" targets="Variable qpid.messaging.driver.POLICIES=qpid.messaging.driver-module.html#POLICIES"><a title="qpid.messaging.driver.POLICIES" class="py-name" href="#" onclick="return doclink('link-47', 'POLICIES', 'link-47');">POLICIES</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Values</tt><tt class="py-op">(</tt><tt class="py-string">"always"</tt><tt class="py-op">,</tt> <tt class="py-string">"sender"</tt><tt class="py-op">,</tt> <tt class="py-string">"receiver"</tt><tt class="py-op">,</tt> <tt class="py-string">"never"</tt><tt class="py-op">)</tt> </tt> +<a name="L161"></a><tt class="py-lineno"> 161</tt> <tt class="py-line"><tt id="link-48" class="py-name" targets="Variable qpid.messaging.driver.RELIABILITY=qpid.messaging.driver-module.html#RELIABILITY"><a title="qpid.messaging.driver.RELIABILITY" class="py-name" href="#" onclick="return doclink('link-48', 'RELIABILITY', 'link-48');">RELIABILITY</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Values</tt><tt class="py-op">(</tt><tt class="py-string">"unreliable"</tt><tt class="py-op">,</tt> <tt class="py-string">"at-most-once"</tt><tt class="py-op">,</tt> <tt class="py-string">"at-least-once"</tt><tt class="py-op">,</tt> </tt> +<a name="L162"></a><tt class="py-lineno"> 162</tt> <tt class="py-line"> <tt class="py-string">"exactly-once"</tt><tt class="py-op">)</tt> </tt> +<a name="L163"></a><tt class="py-lineno"> 163</tt> <tt class="py-line"> </tt> +<a name="L164"></a><tt class="py-lineno"> 164</tt> <tt class="py-line"><tt id="link-49" class="py-name" targets="Variable qpid.messaging.driver.DECLARE=qpid.messaging.driver-module.html#DECLARE"><a title="qpid.messaging.driver.DECLARE" class="py-name" href="#" onclick="return doclink('link-49', 'DECLARE', 'link-49');">DECLARE</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Map</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> <tt class="py-name">restricted</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt> +<a name="L165"></a><tt class="py-lineno"> 165</tt> <tt class="py-line"><tt id="link-50" class="py-name" targets="Variable qpid.messaging.driver.BINDINGS=qpid.messaging.driver-module.html#BINDINGS"><a title="qpid.messaging.driver.BINDINGS" class="py-name" href="#" onclick="return doclink('link-50', 'BINDINGS', 'link-50');">BINDINGS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">List</tt><tt class="py-op">(</tt><tt class="py-name">Map</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> </tt> +<a name="L166"></a><tt class="py-lineno"> 166</tt> <tt class="py-line"> <tt class="py-string">"exchange"</tt><tt class="py-op">:</tt> <tt class="py-name">Types</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="L167"></a><tt class="py-lineno"> 167</tt> <tt class="py-line"> <tt class="py-string">"queue"</tt><tt class="py-op">:</tt> <tt class="py-name">Types</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="L168"></a><tt class="py-lineno"> 168</tt> <tt class="py-line"> <tt class="py-string">"key"</tt><tt class="py-op">:</tt> <tt class="py-name">Types</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="L169"></a><tt class="py-lineno"> 169</tt> <tt class="py-line"> <tt class="py-string">"arguments"</tt><tt class="py-op">:</tt> <tt class="py-name">Map</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> <tt class="py-name">restricted</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt> +<a name="L170"></a><tt class="py-lineno"> 170</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> +<a name="L171"></a><tt class="py-lineno"> 171</tt> <tt class="py-line"> </tt> +<a name="L172"></a><tt class="py-lineno"> 172</tt> <tt class="py-line"><tt id="link-51" class="py-name" targets="Variable qpid.messaging.driver.COMMON_OPTS=qpid.messaging.driver-module.html#COMMON_OPTS"><a title="qpid.messaging.driver.COMMON_OPTS" class="py-name" href="#" onclick="return doclink('link-51', 'COMMON_OPTS', 'link-51');">COMMON_OPTS</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt> +<a name="L173"></a><tt class="py-lineno"> 173</tt> <tt class="py-line"> <tt class="py-string">"create"</tt><tt class="py-op">:</tt> <tt id="link-52" class="py-name"><a title="qpid.messaging.driver.POLICIES" class="py-name" href="#" onclick="return doclink('link-52', 'POLICIES', 'link-47');">POLICIES</a></tt><tt class="py-op">,</tt> </tt> +<a name="L174"></a><tt class="py-lineno"> 174</tt> <tt class="py-line"> <tt class="py-string">"delete"</tt><tt class="py-op">:</tt> <tt id="link-53" class="py-name"><a title="qpid.messaging.driver.POLICIES" class="py-name" href="#" onclick="return doclink('link-53', 'POLICIES', 'link-47');">POLICIES</a></tt><tt class="py-op">,</tt> </tt> +<a name="L175"></a><tt class="py-lineno"> 175</tt> <tt class="py-line"> <tt class="py-string">"assert"</tt><tt class="py-op">:</tt> <tt id="link-54" class="py-name"><a title="qpid.messaging.driver.POLICIES" class="py-name" href="#" onclick="return doclink('link-54', 'POLICIES', 'link-47');">POLICIES</a></tt><tt class="py-op">,</tt> </tt> +<a name="L176"></a><tt class="py-lineno"> 176</tt> <tt class="py-line"> <tt class="py-string">"node"</tt><tt class="py-op">:</tt> <tt class="py-name">Map</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-string">"type"</tt><tt class="py-op">:</tt> <tt class="py-name">Values</tt><tt class="py-op">(</tt><tt class="py-string">"queue"</tt><tt class="py-op">,</tt> <tt class="py-string">"topic"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> +<a name="L178"></a><tt class="py-lineno"> 178</tt> <tt class="py-line"> <tt class="py-string">"durable"</tt><tt class="py-op">:</tt> <tt class="py-name">Types</tt><tt class="py-op">(</tt><tt class="py-name">bool</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> +<a name="L179"></a><tt class="py-lineno"> 179</tt> <tt class="py-line"> <tt class="py-string">"x-declare"</tt><tt class="py-op">:</tt> <tt id="link-55" class="py-name"><a title="qpid.messaging.driver.DECLARE" class="py-name" href="#" onclick="return doclink('link-55', 'DECLARE', 'link-49');">DECLARE</a></tt><tt class="py-op">,</tt> </tt> +<a name="L180"></a><tt class="py-lineno"> 180</tt> <tt class="py-line"> <tt class="py-string">"x-bindings"</tt><tt class="py-op">:</tt> <tt id="link-56" class="py-name"><a title="qpid.messaging.driver.BINDINGS" class="py-name" href="#" onclick="return doclink('link-56', 'BINDINGS', 'link-50');">BINDINGS</a></tt> </tt> +<a name="L181"></a><tt class="py-lineno"> 181</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> +<a name="L182"></a><tt class="py-lineno"> 182</tt> <tt class="py-line"> <tt class="py-string">"link"</tt><tt class="py-op">:</tt> <tt class="py-name">Map</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> </tt> +<a name="L183"></a><tt class="py-lineno"> 183</tt> <tt class="py-line"> <tt class="py-string">"name"</tt><tt class="py-op">:</tt> <tt class="py-name">Types</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="L184"></a><tt class="py-lineno"> 184</tt> <tt class="py-line"> <tt class="py-string">"durable"</tt><tt class="py-op">:</tt> <tt class="py-name">Types</tt><tt class="py-op">(</tt><tt class="py-name">bool</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> +<a name="L185"></a><tt class="py-lineno"> 185</tt> <tt class="py-line"> <tt class="py-string">"reliability"</tt><tt class="py-op">:</tt> <tt id="link-57" class="py-name"><a title="qpid.messaging.driver.RELIABILITY" class="py-name" href="#" onclick="return doclink('link-57', 'RELIABILITY', 'link-48');">RELIABILITY</a></tt><tt class="py-op">,</tt> </tt> +<a name="L186"></a><tt class="py-lineno"> 186</tt> <tt class="py-line"> <tt class="py-string">"x-declare"</tt><tt class="py-op">:</tt> <tt id="link-58" class="py-name"><a title="qpid.messaging.driver.DECLARE" class="py-name" href="#" onclick="return doclink('link-58', 'DECLARE', 'link-49');">DECLARE</a></tt><tt class="py-op">,</tt> </tt> +<a name="L187"></a><tt class="py-lineno"> 187</tt> <tt class="py-line"> <tt class="py-string">"x-bindings"</tt><tt class="py-op">:</tt> <tt id="link-59" class="py-name"><a title="qpid.messaging.driver.BINDINGS" class="py-name" href="#" onclick="return doclink('link-59', 'BINDINGS', 'link-50');">BINDINGS</a></tt><tt class="py-op">,</tt> </tt> +<a name="L188"></a><tt class="py-lineno"> 188</tt> <tt class="py-line"> <tt class="py-string">"x-subscribe"</tt><tt class="py-op">:</tt> <tt class="py-name">Map</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">,</tt> <tt class="py-name">restricted</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt> +<a name="L189"></a><tt class="py-lineno"> 189</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt> +<a name="L190"></a><tt class="py-lineno"> 190</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt> +<a name="L191"></a><tt class="py-lineno"> 191</tt> <tt class="py-line"> </tt> +<a name="L192"></a><tt class="py-lineno"> 192</tt> <tt class="py-line"><tt id="link-60" class="py-name" targets="Variable qpid.messaging.driver.RECEIVE_MODES=qpid.messaging.driver-module.html#RECEIVE_MODES"><a title="qpid.messaging.driver.RECEIVE_MODES" class="py-name" href="#" onclick="return doclink('link-60', 'RECEIVE_MODES', 'link-60');">RECEIVE_MODES</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Values</tt><tt class="py-op">(</tt><tt class="py-string">"browse"</tt><tt class="py-op">,</tt> <tt class="py-string">"consume"</tt><tt class="py-op">)</tt> </tt> +<a name="L193"></a><tt class="py-lineno"> 193</tt> <tt class="py-line"> </tt> +<a name="L194"></a><tt class="py-lineno"> 194</tt> <tt class="py-line"><tt id="link-61" class="py-name" targets="Variable qpid.messaging.driver.SOURCE_OPTS=qpid.messaging.driver-module.html#SOURCE_OPTS"><a title="qpid.messaging.driver.SOURCE_OPTS" class="py-name" href="#" onclick="return doclink('link-61', 'SOURCE_OPTS', 'link-61');">SOURCE_OPTS</a></tt> <tt class="py-op">=</tt> <tt id="link-62" class="py-name"><a title="qpid.messaging.driver.COMMON_OPTS" class="py-name" href="#" onclick="return doclink('link-62', 'COMMON_OPTS', 'link-51');">COMMON_OPTS</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> +<a name="L195"></a><tt class="py-lineno"> 195</tt> <tt class="py-line"><tt id="link-63" class="py-name"><a title="qpid.messaging.driver.SOURCE_OPTS" class="py-name" href="#" onclick="return doclink('link-63', 'SOURCE_OPTS', 'link-61');">SOURCE_OPTS</a></tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-op">{</tt> </tt> +<a name="L196"></a><tt class="py-lineno"> 196</tt> <tt class="py-line"> <tt class="py-string">"mode"</tt><tt class="py-op">:</tt> <tt id="link-64" class="py-name"><a title="qpid.messaging.driver.RECEIVE_MODES" class="py-name" href="#" onclick="return doclink('link-64', 'RECEIVE_MODES', 'link-60');">RECEIVE_MODES</a></tt> </tt> +<a name="L197"></a><tt class="py-lineno"> 197</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt> </tt> +<a name="L198"></a><tt class="py-lineno"> 198</tt> <tt class="py-line"> </tt> +<a name="L199"></a><tt class="py-lineno"> 199</tt> <tt class="py-line"><tt id="link-65" class="py-name" targets="Variable qpid.messaging.driver.TARGET_OPTS=qpid.messaging.driver-module.html#TARGET_OPTS"><a title="qpid.messaging.driver.TARGET_OPTS" class="py-name" href="#" onclick="return doclink('link-65', 'TARGET_OPTS', 'link-65');">TARGET_OPTS</a></tt> <tt class="py-op">=</tt> <tt id="link-66" class="py-name"><a title="qpid.messaging.driver.COMMON_OPTS" class="py-name" href="#" onclick="return doclink('link-66', 'COMMON_OPTS', 'link-51');">COMMON_OPTS</a></tt><tt class="py-op">.</tt><tt class="py-name">copy</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt> +<a name="LinkIn"></a><div id="LinkIn-def"><a name="L200"></a><tt class="py-lineno"> 200</tt> <tt class="py-line"> </tt> +<a name="L201"></a><tt class="py-lineno"> 201</tt> <a class="py-toggle" href="#" id="LinkIn-toggle" onclick="return toggle('LinkIn');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="qpid.messaging.driver.LinkIn-class.html">LinkIn</a><tt class="py-op">:</tt> </tt> +</div><div id="LinkIn-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="LinkIn-expanded"><a name="L202"></a><tt class="py-lineno"> 202</tt> <tt class="py-line"> </tt> +<a name="L203"></a><tt class="py-lineno"> 203</tt> <tt class="py-line"> <tt id="link-67" class="py-name" targets="Variable qpid.messaging.driver.LinkIn.ADDR_NAME=qpid.messaging.driver.LinkIn-class.html#ADDR_NAME,Variable qpid.messaging.driver.LinkOut.ADDR_NAME=qpid.messaging.driver.LinkOut-class.html#ADDR_NAME"><a title="qpid.messaging.driver.LinkIn.ADDR_NAME +qpid.messaging.driver.LinkOut.ADDR_NAME" class="py-name" href="#" onclick="return doclink('link-67', 'ADDR_NAME', 'link-67');">ADDR_NAME</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"source"</tt> </tt> +<a name="L204"></a><tt class="py-lineno"> 204</tt> <tt class="py-line"> <tt id="link-68" class="py-name" targets="Variable qpid.messaging.driver.LinkIn.DIR_NAME=qpid.messaging.driver.LinkIn-class.html#DIR_NAME,Variable qpid.messaging.driver.LinkOut.DIR_NAME=qpid.messaging.driver.LinkOut-class.html#DIR_NAME"><a title="qpid.messaging.driver.LinkIn.DIR_NAME +qpid.messaging.driver.LinkOut.DIR_NAME" class="py-name" href="#" onclick="return doclink('link-68', 'DIR_NAME', 'link-68');">DIR_NAME</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"receiver"</tt> </tt> +<a name="L205"></a><tt class="py-lineno"> 205</tt> <tt class="py-line"> <tt id="link-69" class="py-name" targets="Variable qpid.messaging.driver.LinkIn.VALIDATOR=qpid.messaging.driver.LinkIn-class.html#VALIDATOR,Variable qpid.messaging.driver.LinkOut.VALIDATOR=qpid.messaging.driver.LinkOut-class.html#VALIDATOR"><a title="qpid.messaging.driver.LinkIn.VALIDATOR +qpid.messaging.driver.LinkOut.VALIDATOR" class="py-name" href="#" onclick="return doclink('link-69', 'VALIDATOR', 'link-69');">VALIDATOR</a></tt> <tt class="py-op">=</tt> <tt class="py-name">Map</tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="qpid.messaging.driver.SOURCE_OPTS" class="py-name" href="#" onclick="return doclink('link-70', 'SOURCE_OPTS', 'link-61');">SOURCE_OPTS</a></tt><tt class="py-op">)</tt> </tt> +<a name="L206"></a><tt class="py-lineno"> 206</tt> <tt class="py-line"> </tt> +<a name="LinkIn.init_link"></a><div id="LinkIn.init_link-def"><a name="L207"></a><tt class="py-lineno"> 207</tt> <a class="py-toggle" href="#" id="LinkIn.init_link-toggle" onclick="return toggle('LinkIn.init_link');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.LinkIn-class.html#init_link">init_link</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sst</tt><tt class="py-op">,</tt> <tt class="py-param">rcv</tt><tt class="py-op">,</tt> <tt class="py-param">_rcv</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="LinkIn.init_link-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="LinkIn.init_link-expanded"><a name="L208"></a><tt class="py-lineno"> 208</tt> <tt class="py-line"> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">destination</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">rcv</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">)</tt> </tt> +<a name="L209"></a><tt class="py-lineno"> 209</tt> <tt class="py-line"> <tt class="py-name">sst</tt><tt class="py-op">.</tt><tt class="py-name">destinations</tt><tt class="py-op">[</tt><tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">destination</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">_rcv</tt> </tt> +<a name="L210"></a><tt class="py-lineno"> 210</tt> <tt class="py-line"> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">draining</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt> +<a name="L211"></a><tt class="py-lineno"> 211</tt> <tt class="py-line"> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">bytes_open</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt> +<a name="L212"></a><tt class="py-lineno"> 212</tt> <tt class="py-line"> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">on_unlink</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt> +</div><a name="L213"></a><tt class="py-lineno"> 213</tt> <tt class="py-line"> </tt> +<a name="LinkIn.do_link"></a><div id="LinkIn.do_link-def"><a name="L214"></a><tt class="py-lineno"> 214</tt> <a class="py-toggle" href="#" id="LinkIn.do_link-toggle" onclick="return toggle('LinkIn.do_link');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.LinkIn-class.html#do_link">do_link</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sst</tt><tt class="py-op">,</tt> <tt class="py-param">rcv</tt><tt class="py-op">,</tt> <tt class="py-param">_rcv</tt><tt class="py-op">,</tt> <tt class="py-param">type</tt><tt class="py-op">,</tt> <tt class="py-param">subtype</tt><tt class="py-op">,</tt> <tt class="py-param">action</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="LinkIn.do_link-collapsed" style="display:none;" pad="++++" indent="++++++"></div><div id="LinkIn.do_link-expanded"><a name="L215"></a><tt class="py-lineno"> 215</tt> <tt class="py-line"> <tt class="py-name">link_opts</tt> <tt class="py-op">=</tt> <tt class="py-name">_rcv</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">"link"</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt> +<a name="L216"></a><tt class="py-lineno"> 216</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-string">"topic"</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">default_reliability</tt> <tt class="py-op">=</tt> <tt class="py-string">"unreliable"</tt> </tt> +<a name="L218"></a><tt class="py-lineno"> 218</tt> <tt class="py-line"> <tt class="py-keyword">else</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">default_reliability</tt> <tt class="py-op">=</tt> <tt class="py-string">"at-least-once"</tt> </tt> +<a name="L220"></a><tt class="py-lineno"> 220</tt> <tt class="py-line"> <tt class="py-name">reliability</tt> <tt class="py-op">=</tt> <tt class="py-name">link_opts</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"reliability"</tt><tt class="py-op">,</tt> <tt class="py-name">default_reliability</tt><tt class="py-op">)</tt> </tt> +<a name="L221"></a><tt class="py-lineno"> 221</tt> <tt class="py-line"> <tt id="link-71" class="py-name" targets="Method qpid.messaging.driver.Engine.declare()=qpid.messaging.driver.Engine-class.html#declare"><a title="qpid.messaging.driver.Engine.declare" class="py-name" href="#" onclick="return doclink('link-71', 'declare', 'link-71');">declare</a></tt> <tt class="py-op">=</tt> <tt class="py-name">link_opts</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"x-declare"</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">subscribe</tt> <tt class="py-op">=</tt> <tt class="py-name">link_opts</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"x-subscribe"</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt> +<a name="L223"></a><tt class="py-lineno"> 223</tt> <tt class="py-line"> <tt class="py-name">acq_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">acquire_mode</tt><tt class="py-op">.</tt><tt class="py-name">pre_acquired</tt> </tt> +<a name="L224"></a><tt class="py-lineno"> 224</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">reliability</tt> <tt class="py-keyword">in</tt> <tt class="py-op">(</tt><tt class="py-string">"unreliable"</tt><tt class="py-op">,</tt> <tt class="py-string">"at-most-once"</tt><tt class="py-op">)</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">rcv</tt><tt class="py-op">.</tt><tt class="py-name">_accept_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">accept_mode</tt><tt class="py-op">.</tt><tt class="py-name">none</tt> </tt> +<a name="L226"></a><tt class="py-lineno"> 226</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt> +<a name="L227"></a><tt class="py-lineno"> 227</tt> <tt class="py-line"> <tt class="py-name">rcv</tt><tt class="py-op">.</tt><tt class="py-name">_accept_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">accept_mode</tt><tt class="py-op">.</tt><tt class="py-name">explicit</tt> </tt> +<a name="L228"></a><tt class="py-lineno"> 228</tt> <tt class="py-line"> </tt> +<a name="L229"></a><tt class="py-lineno"> 229</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-string">"topic"</tt><tt class="py-op">:</tt> </tt> +<a name="L230"></a><tt class="py-lineno"> 230</tt> <tt class="py-line"> <tt class="py-name">default_name</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">rcv</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="qpid.messaging.endpoints.Connection.session" class="py-name" href="#" onclick="return doclink('link-72', 'session', 'link-30');">session</a></tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-73', 'name', 'link-20');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">destination</tt><tt class="py-op">)</tt> </tt> +<a name="L231"></a><tt class="py-lineno"> 231</tt> <tt class="py-line"> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">_queue</tt> <tt class="py-op">=</tt> <tt class="py-name">link_opts</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"name"</tt><tt class="py-op">,</tt> <tt class="py-name">default_name</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">sst</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="qpid.messaging.driver.SessionState.write_cmd" class="py-name" href="#" onclick="return doclink('link-74', 'write_cmd', 'link-26');">write_cmd</a></tt><tt class="py-op">(</tt><tt class="py-name">QueueDeclare</tt><tt class="py-op">(</tt><tt class="py-name">queue</tt><tt class="py-op">=</tt><tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">_queue</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">durable</tt><tt class="py-op">=</tt><tt class="py-name">link_opts</tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"durable"</tt><tt class="py-op">,</tt> <tt class="py-name">False</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 class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt> +<a name="L235"></a><tt class="py-lineno"> 235</tt> <tt class="py-line"> <tt class="py-name">auto_delete</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-name">reliability</tt> <tt class="py-op">==</tt> <tt class="py-string">"unreliable"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> +<a name="L236"></a><tt class="py-lineno"> 236</tt> <tt class="py-line"> <tt class="py-name">overrides</tt><tt class="py-op">=</tt><tt id="link-75" class="py-name"><a title="qpid.messaging.driver.Engine.declare" class="py-name" href="#" onclick="return doclink('link-75', 'declare', 'link-71');">declare</a></tt><tt class="py-op">)</tt> </tt> +<a name="L237"></a><tt class="py-lineno"> 237</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-76" class="py-name"><a title="qpid.messaging.driver.Engine.declare" class="py-name" href="#" onclick="return doclink('link-76', 'declare', 'link-71');">declare</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-string">"exclusive"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">on_unlink</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">QueueDelete</tt><tt class="py-op">(</tt><tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">_queue</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt> +<a name="L238"></a><tt class="py-lineno"> 238</tt> <tt class="py-line"> <tt class="py-name">subject</tt> <tt class="py-op">=</tt> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">subject</tt> <tt class="py-keyword">or</tt> <tt id="link-77" class="py-name"><a title="qpid.messaging.driver.SUBJECT_DEFAULTS" class="py-name" href="#" onclick="return doclink('link-77', 'SUBJECT_DEFAULTS', 'link-27');">SUBJECT_DEFAULTS</a></tt><tt class="py-op">.</tt><tt class="py-name">get</tt><tt class="py-op">(</tt><tt class="py-name">subtype</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">bindings</tt> <tt class="py-op">=</tt> <tt id="link-78" class="py-name" targets="Function qpid.messaging.driver.get_bindings()=qpid.messaging.driver-module.html#get_bindings"><a title="qpid.messaging.driver.get_bindings" class="py-name" href="#" onclick="return doclink('link-78', 'get_bindings', 'link-78');">get_bindings</a></tt><tt class="py-op">(</tt><tt class="py-name">link_opts</tt><tt class="py-op">,</tt> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">_queue</tt><tt class="py-op">,</tt> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-79', 'name', 'link-20');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">subject</tt><tt class="py-op">)</tt> </tt> +<a name="L240"></a><tt class="py-lineno"> 240</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">bindings</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">sst</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="qpid.messaging.driver.SessionState.write_cmd" class="py-name" href="#" onclick="return doclink('link-80', 'write_cmd', 'link-26');">write_cmd</a></tt><tt class="py-op">(</tt><tt class="py-name">ExchangeBind</tt><tt class="py-op">(</tt><tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">_queue</tt><tt class="py-op">,</tt> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-81', 'name', 'link-20');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">subject</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt> +<a name="L242"></a><tt class="py-lineno"> 242</tt> <tt class="py-line"> </tt> +<a name="L243"></a><tt class="py-lineno"> 243</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">type</tt> <tt class="py-op">==</tt> <tt class="py-string">"queue"</tt><tt class="py-op">:</tt> </tt> +<a name="L244"></a><tt class="py-lineno"> 244</tt> <tt class="py-line"> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">_queue</tt> <tt class="py-op">=</tt> <tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="qpid.messaging.driver.name" class="py-name" href="#" onclick="return doclink('link-82', 'name', 'link-20');">name</a></tt> </tt> +<a name="L245"></a><tt class="py-lineno"> 245</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">_rcv</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">"mode"</tt><tt class="py-op">,</tt> <tt class="py-string">"consume"</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"browse"</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">acq_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">acquire_mode</tt><tt class="py-op">.</tt><tt class="py-name">not_acquired</tt> </tt> +<a name="L247"></a><tt class="py-lineno"> 247</tt> <tt class="py-line"> <tt class="py-name">bindings</tt> <tt class="py-op">=</tt> <tt id="link-83" class="py-name"><a title="qpid.messaging.driver.get_bindings" class="py-name" href="#" onclick="return doclink('link-83', 'get_bindings', 'link-78');">get_bindings</a></tt><tt class="py-op">(</tt><tt class="py-name">link_opts</tt><tt class="py-op">,</tt> <tt class="py-name">queue</tt><tt class="py-op">=</tt><tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">_queue</tt><tt class="py-op">)</tt> </tt> +<a name="L248"></a><tt class="py-lineno"> 248</tt> <tt class="py-line"> </tt> +<a name="L249"></a><tt class="py-lineno"> 249</tt> <tt class="py-line"> </tt> +<a name="L250"></a><tt class="py-lineno"> 250</tt> <tt class="py-line"> <tt class="py-name">sst</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method qpid.messaging.driver.SessionState.write_cmds()=qpid.messaging.driver.SessionState-class.html#write_cmds"><a title="qpid.messaging.driver.SessionState.write_cmds" class="py-name" href="#" onclick="return doclink('link-84', 'write_cmds', 'link-84');">write_cmds</a></tt><tt class="py-op">(</tt><tt class="py-name">bindings</tt><tt class="py-op">)</tt> </tt> +<a name="L251"></a><tt class="py-lineno"> 251</tt> <tt class="py-line"> <tt class="py-name">sst</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="qpid.messaging.driver.SessionState.write_cmd" class="py-name" href="#" onclick="return doclink('link-85', 'write_cmd', 'link-26');">write_cmd</a></tt><tt class="py-op">(</tt><tt class="py-name">MessageSubscribe</tt><tt class="py-op">(</tt><tt class="py-name">queue</tt><tt class="py-op">=</tt><tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">_queue</tt><tt class="py-op">,</tt> </tt> +<a name="L252"></a><tt class="py-lineno"> 252</tt> <tt class="py-line"> <tt class="py-name">destination</tt><tt class="py-op">=</tt><tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">destination</tt><tt class="py-op">,</tt> </tt> +<a name="L253"></a><tt class="py-lineno"> 253</tt> <tt class="py-line"> <tt class="py-name">acquire_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">acq_mode</tt><tt class="py-op">,</tt> </tt> +<a name="L254"></a><tt class="py-lineno"> 254</tt> <tt class="py-line"> <tt class="py-name">accept_mode</tt> <tt class="py-op">=</tt> <tt class="py-name">rcv</tt><tt class="py-op">.</tt><tt class="py-name">_accept_mode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt> +<a name="L255"></a><tt class="py-lineno"> 255</tt> <tt class="py-line"> <tt class="py-name">overrides</tt><tt class="py-op">=</tt><tt class="py-name">subscribe</tt><tt class="py-op">)</tt> </tt> +<a name="L256"></a><tt class="py-lineno"> 256</tt> <tt class="py-line"> <tt class="py-name">sst</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="qpid.messaging.driver.SessionState.write_cmd" class="py-name" href="#" onclick="return doclink('link-86', 'write_cmd', 'link-26');">write_cmd</a></tt><tt class="py-op">(</tt><tt class="py-name">MessageSetFlowMode</tt><tt class="py-op">(</tt><tt class="py-name">_rcv</tt><tt class="py-op">.</tt><tt class="py-name">destination</tt><tt class="py-op">,</tt> <tt class="py-name">flow_mode</tt><tt class="py-op">.</tt><tt class="py-name">credit</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">action</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="LinkIn.do_unlink"></a><div id="LinkIn.do_unlink-def"><a name="L258"></a><tt class="py-lineno"> 258</tt> <a class="py-toggle" href="#" id="LinkIn.do_unlink-toggle" onclick="return toggle('LinkIn.do_unlink');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="qpid.messaging.driver.LinkIn-class.html#do_unlink">do_unlink</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">sst</tt><tt class="py-op">,</tt> <tt class="py-param">rcv</tt><tt class="py-op">,</tt> <tt class="py-param">_rcv</tt><tt class="py-op">,</tt> <tt class="py-param">action</tt><tt class="py-op">=</tt><tt id="link-87" class="py-name"><a title="qpid.messaging.driver.noop" class="py-name" href="#" onclick="return doclink('link-87', 'noop', 'link-35');">noop</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt> +</div><div id="LinkIn.do_unlink-collapsed" style="display:non
<TRUNCATED> --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org