| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title> |
| Class: Qpid::Proton::Handler::MessagingAdapter |
| |
| — Qpid Proton Ruby API |
| |
| </title> |
| |
| <link rel="stylesheet" href="../../../css/style.css" type="text/css" /> |
| |
| <link rel="stylesheet" href="../../../css/common.css" type="text/css" /> |
| |
| <script type="text/javascript"> |
| pathId = "Qpid::Proton::Handler::MessagingAdapter"; |
| relpath = '../../../'; |
| </script> |
| |
| |
| <script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script> |
| |
| <script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script> |
| |
| |
| </head> |
| <body> |
| <div class="nav_wrap"> |
| <iframe id="nav" src="../../../class_list.html?1"></iframe> |
| <div id="resizer"></div> |
| </div> |
| |
| <div id="main" tabindex="-1"> |
| <div id="header"> |
| <div id="menu"> |
| |
| <a href="../../../_index.html">Index (M)</a> » |
| <span class='title'><span class='object_link'><a href="../../../Qpid.html" title="Qpid (module)">Qpid</a></span></span> » <span class='title'><span class='object_link'><a href="../../Proton.html" title="Qpid::Proton (module)">Proton</a></span></span> » <span class='title'><span class='object_link'><a href="../Handler.html" title="Qpid::Proton::Handler (module)">Handler</a></span></span> |
| » |
| <span class="title">MessagingAdapter</span> |
| |
| </div> |
| |
| <div id="search"> |
| |
| <a class="full_list_link" id="class_list_link" |
| href="../../../class_list.html"> |
| |
| <svg width="24" height="24"> |
| <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect> |
| <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect> |
| <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect> |
| </svg> |
| </a> |
| |
| </div> |
| <div class="clear"></div> |
| </div> |
| |
| <div id="content"><h1>Class: Qpid::Proton::Handler::MessagingAdapter |
| |
| |
| |
| </h1> |
| <div class="box_info"> |
| |
| <dl> |
| <dt>Inherits:</dt> |
| <dd> |
| <span class="inheritName"><span class='object_link'><a href="Adapter.html" title="Qpid::Proton::Handler::Adapter (class)">Adapter</a></span></span> |
| |
| <ul class="fullTree"> |
| <li>Object</li> |
| |
| <li class="next"><span class='object_link'><a href="Adapter.html" title="Qpid::Proton::Handler::Adapter (class)">Adapter</a></span></li> |
| |
| <li class="next">Qpid::Proton::Handler::MessagingAdapter</li> |
| |
| </ul> |
| <a href="#" class="inheritanceTree">show all</a> |
| |
| </dd> |
| </dl> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <dl> |
| <dt>Defined in:</dt> |
| <dd>lib/handler/messaging_adapter.rb</dd> |
| </dl> |
| |
| </div> |
| |
| <h2>Overview</h2><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Adapt raw proton events to <span class='object_link'><a href="MessagingHandler.html" title="Qpid::Proton::Handler::MessagingHandler (class)">MessagingHandler</a></span> events.</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div> |
| |
| |
| |
| |
| |
| |
| |
| <h2> |
| Class Method Summary |
| <small><a href="#" class="summary_toggle">collapse</a></small> |
| </h2> |
| |
| <ul class="summary"> |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#open_close-class_method" title="open_close (class method)">.<strong>open_close</strong>(endpoint) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>Define repetative on_xxx_open/close methods for session and connection.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| </ul> |
| |
| <h2> |
| Instance Method Summary |
| <small><a href="#" class="summary_toggle">collapse</a></small> |
| </h2> |
| |
| <ul class="summary"> |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#add_credit-instance_method" title="#add_credit (instance method)">#<strong>add_credit</strong>(event) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#delegate-instance_method" title="#delegate (instance method)">#<strong>delegate</strong>(method, *args) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#delegate_error-instance_method" title="#delegate_error (instance method)">#<strong>delegate_error</strong>(method, context) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_container_start-instance_method" title="#on_container_start (instance method)">#<strong>on_container_start</strong>(container) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_container_stop-instance_method" title="#on_container_stop (instance method)">#<strong>on_container_stop</strong>(container) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_delivery-instance_method" title="#on_delivery (instance method)">#<strong>on_delivery</strong>(event) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_link_flow-instance_method" title="#on_link_flow (instance method)">#<strong>on_link_flow</strong>(event) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_link_local_open-instance_method" title="#on_link_local_open (instance method)">#<strong>on_link_local_open</strong>(event) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>Add flow control for local link open.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_link_remote_close-instance_method" title="#on_link_remote_close (instance method)">#<strong>on_link_remote_close</strong>(event) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_link_remote_open-instance_method" title="#on_link_remote_open (instance method)">#<strong>on_link_remote_open</strong>(event) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'> |
| <p>Link open/close is handled separately because links are split into sender and receiver on the messaging API.</p> |
| </div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_transport_closed-instance_method" title="#on_transport_closed (instance method)">#<strong>on_transport_closed</strong>(event) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| <li class="public "> |
| <span class="summary_signature"> |
| |
| <a href="#on_transport_error-instance_method" title="#on_transport_error (instance method)">#<strong>on_transport_error</strong>(event) </a> |
| |
| |
| |
| </span> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="summary_desc"><div class='inline'></div></span> |
| |
| </li> |
| |
| |
| </ul> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Adapter.html" title="Qpid::Proton::Handler::Adapter (class)">Adapter</a></span></h3> |
| <p class="inherited"><span class='object_link'><a href="Adapter.html#adapt-class_method" title="Qpid::Proton::Handler::Adapter.adapt (method)">adapt</a></span>, <span class='object_link'><a href="Adapter.html#adapter-class_method" title="Qpid::Proton::Handler::Adapter.adapter (method)">adapter</a></span>, <span class='object_link'><a href="Adapter.html#forward-instance_method" title="Qpid::Proton::Handler::Adapter#forward (method)">#forward</a></span>, <span class='object_link'><a href="Adapter.html#initialize-instance_method" title="Qpid::Proton::Handler::Adapter#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="Adapter.html#proton_adapter_class-instance_method" title="Qpid::Proton::Handler::Adapter#proton_adapter_class (method)">#proton_adapter_class</a></span></p> |
| <div id="constructor_details" class="method_details_list"> |
| <h2>Constructor Details</h2> |
| |
| <p class="notice">This class inherits a constructor from <span class='object_link'><a href="Adapter.html#initialize-instance_method" title="Qpid::Proton::Handler::Adapter#initialize (method)">Qpid::Proton::Handler::Adapter</a></span></p> |
| |
| </div> |
| |
| |
| <div id="class_method_details" class="method_details_list"> |
| <h2>Class Method Details</h2> |
| |
| |
| <div class="method_details first"> |
| <h3 class="signature first" id="open_close-class_method"> |
| |
| .<strong>open_close</strong>(endpoint) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Define repetative on_xxx_open/close methods for session and connection</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 42 |
| 43 |
| 44 |
| 45 |
| 46 |
| 47 |
| 48 |
| 49 |
| 50 |
| 51 |
| 52 |
| 53 |
| 54 |
| 55 |
| 56 |
| 57 |
| 58 |
| 59 |
| 60 |
| 61</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 42</span> |
| |
| <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_open_close'>open_close</span><span class='lparen'>(</span><span class='id identifier rubyid_endpoint'>endpoint</span><span class='rparen'>)</span> |
| <span class='const'>Module</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span> |
| <span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='symbol'>:"on_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_endpoint'>endpoint</span><span class='embexpr_end'>}</span><span class='tstring_content'>_remote_open</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_event'>event</span><span class='op'>|</span> |
| <span class='kw'>begin</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:"on_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_endpoint'>endpoint</span><span class='embexpr_end'>}</span><span class='tstring_content'>_open</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span> <span class='kw'>if</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_local_uninit?'>local_uninit?</span> |
| <span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="../StopAutoResponse.html" title="Qpid::Proton::StopAutoResponse (class)">StopAutoResponse</a></span></span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span> |
| |
| <span class='id identifier rubyid_define_method'>define_method</span><span class='lparen'>(</span><span class='symbol'>:"on_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_endpoint'>endpoint</span><span class='embexpr_end'>}</span><span class='tstring_content'>_remote_close</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_event'>event</span><span class='op'>|</span> |
| <span class='id identifier rubyid_delegate_error'>delegate_error</span><span class='lparen'>(</span><span class='symbol'>:"on_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_endpoint'>endpoint</span><span class='embexpr_end'>}</span><span class='tstring_content'>_error</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_condition'>condition</span> |
| <span class='kw'>begin</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:"on_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_endpoint'>endpoint</span><span class='embexpr_end'>}</span><span class='tstring_content'>_close</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='kw'>if</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_local_active?'>local_active?</span> |
| <span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="../StopAutoResponse.html" title="Qpid::Proton::StopAutoResponse (class)">StopAutoResponse</a></span></span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| </div> |
| |
| <div id="instance_method_details" class="method_details_list"> |
| <h2>Instance Method Details</h2> |
| |
| |
| <div class="method_details first"> |
| <h3 class="signature first" id="add_credit-instance_method"> |
| |
| #<strong>add_credit</strong>(event) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 140 |
| 141 |
| 142 |
| 143 |
| 144 |
| 145</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 140</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_add_credit'>add_credit</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='kw'>return</span> <span class='kw'>unless</span> <span class='lparen'>(</span><span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_receiver'>receiver</span><span class='rparen'>)</span> |
| <span class='kw'>if</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_open?'>open?</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_drained'>drained</span> <span class='op'>==</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_credit_window'>credit_window</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_credit_window'>credit_window</span> <span class='op'>></span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_credit'>credit</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_flow'>flow</span><span class='lparen'>(</span><span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_credit_window'>credit_window</span> <span class='op'>-</span> <span class='id identifier rubyid_r'>r</span><span class='period'>.</span><span class='id identifier rubyid_credit'>credit</span><span class='rparen'>)</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="delegate-instance_method"> |
| |
| #<strong>delegate</strong>(method, *args) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 26 |
| 27 |
| 28</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 26</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_forward'>forward</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='kw'>or</span> <span class='id identifier rubyid_forward'>forward</span><span class='lparen'>(</span><span class='symbol'>:on_unhandled</span><span class='comma'>,</span> <span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="delegate_error-instance_method"> |
| |
| #<strong>delegate_error</strong>(method, context) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 30 |
| 31 |
| 32 |
| 33 |
| 34 |
| 35 |
| 36</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 30</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_delegate_error'>delegate_error</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span> |
| <span class='kw'>unless</span> <span class='id identifier rubyid_forward'>forward</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_forward'>forward</span><span class='lparen'>(</span><span class='symbol'>:on_error</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_condition'>condition</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_forward'>forward</span><span class='lparen'>(</span><span class='symbol'>:on_unhandled</span><span class='comma'>,</span> <span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span> <span class='comment'># Close the whole connection on an un-handled error |
| </span> |
| <span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_connection'>connection</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span><span class='lparen'>(</span><span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_condition'>condition</span><span class='rparen'>)</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_container_start-instance_method"> |
| |
| #<strong>on_container_start</strong>(container) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 38</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 38</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_container_start'>on_container_start</span><span class='lparen'>(</span><span class='id identifier rubyid_container'>container</span><span class='rparen'>)</span> <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_container_start</span><span class='comma'>,</span> <span class='id identifier rubyid_container'>container</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_container_stop-instance_method"> |
| |
| #<strong>on_container_stop</strong>(container) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 39</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 39</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_container_stop'>on_container_stop</span><span class='lparen'>(</span><span class='id identifier rubyid_container'>container</span><span class='rparen'>)</span> <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_container_stop</span><span class='comma'>,</span> <span class='id identifier rubyid_container'>container</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_delivery-instance_method"> |
| |
| #<strong>on_delivery</strong>(event) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 98 |
| 99 |
| 100 |
| 101 |
| 102 |
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113 |
| 114 |
| 115 |
| 116 |
| 117 |
| 118 |
| 119 |
| 120 |
| 121 |
| 122 |
| 123 |
| 124 |
| 125 |
| 126 |
| 127 |
| 128 |
| 129 |
| 130 |
| 131 |
| 132</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 98</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_delivery'>on_delivery</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='kw'>if</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_receiver?'>receiver?</span> <span class='comment'># Incoming message |
| </span> <span class='id identifier rubyid_d'>d</span> <span class='op'>=</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_delivery'>delivery</span> |
| <span class='kw'>if</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_aborted?'>aborted?</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_delivery_abort</span><span class='comma'>,</span> <span class='id identifier rubyid_d'>d</span><span class='rparen'>)</span> |
| <span class='kw'>elsif</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_complete?'>complete?</span> |
| <span class='kw'>if</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_local_closed?'>local_closed?</span> <span class='op'>&&</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_receiver'>receiver</span><span class='period'>.</span><span class='id identifier rubyid_auto_accept'>auto_accept</span> |
| <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_release'>release</span> <span class='comment'># Auto release after close |
| </span> <span class='kw'>else</span> |
| <span class='kw'>begin</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_message</span><span class='comma'>,</span> <span class='id identifier rubyid_d'>d</span><span class='comma'>,</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_accept'>accept</span> <span class='kw'>if</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_receiver'>receiver</span><span class='period'>.</span><span class='id identifier rubyid_auto_accept'>auto_accept</span> <span class='op'>&&</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_local_state'>local_state</span> <span class='op'>==</span> <span class='int'>0</span> |
| <span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="../Reject.html" title="Qpid::Proton::Reject (class)">Reject</a></span></span> |
| <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> |
| <span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="../Release.html" title="Qpid::Proton::Release (class)">Release</a></span></span> |
| <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_release'>release</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_delivery_settle</span><span class='comma'>,</span> <span class='id identifier rubyid_d'>d</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_settled?'>settled?</span> |
| <span class='id identifier rubyid_add_credit'>add_credit</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='kw'>else</span> <span class='comment'># Outgoing message |
| </span> <span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_tracker'>tracker</span> |
| <span class='kw'>case</span> <span class='id identifier rubyid_t'>t</span><span class='period'>.</span><span class='id identifier rubyid_state'>state</span> |
| <span class='kw'>when</span> <span class='const'><span class='object_link'><a href="../Delivery.html" title="Qpid::Proton::Delivery (class)">Delivery</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Disposition/State.html#ACCEPTED-constant" title="Qpid::Proton::Disposition::State::ACCEPTED (constant)">ACCEPTED</a></span></span> <span class='kw'>then</span> <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_tracker_accept</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span> |
| <span class='kw'>when</span> <span class='const'><span class='object_link'><a href="../Delivery.html" title="Qpid::Proton::Delivery (class)">Delivery</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Disposition/State.html#REJECTED-constant" title="Qpid::Proton::Disposition::State::REJECTED (constant)">REJECTED</a></span></span> <span class='kw'>then</span> <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_tracker_reject</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span> |
| <span class='kw'>when</span> <span class='const'><span class='object_link'><a href="../Delivery.html" title="Qpid::Proton::Delivery (class)">Delivery</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Disposition/State.html#RELEASED-constant" title="Qpid::Proton::Disposition::State::RELEASED (constant)">RELEASED</a></span></span> <span class='kw'>then</span> <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_tracker_release</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span> |
| <span class='kw'>when</span> <span class='const'><span class='object_link'><a href="../Delivery.html" title="Qpid::Proton::Delivery (class)">Delivery</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Disposition/State.html#MODIFIED-constant" title="Qpid::Proton::Disposition::State::MODIFIED (constant)">MODIFIED</a></span></span> <span class='kw'>then</span> <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_tracker_modify</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span> |
| <span class='kw'>end</span> |
| <span class='kw'>if</span> <span class='id identifier rubyid_t'>t</span><span class='period'>.</span><span class='id identifier rubyid_settled?'>settled?</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_tracker_settle</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_t'>t</span><span class='period'>.</span><span class='id identifier rubyid_settle'>settle</span> <span class='kw'>if</span> <span class='id identifier rubyid_t'>t</span><span class='period'>.</span><span class='id identifier rubyid_sender'>sender</span><span class='period'>.</span><span class='id identifier rubyid_auto_settle'>auto_settle</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_link_flow-instance_method"> |
| |
| #<strong>on_link_flow</strong>(event) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 134 |
| 135 |
| 136 |
| 137 |
| 138</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 134</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_link_flow'>on_link_flow</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_add_credit'>add_credit</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_sender'>sender</span> <span class='op'>=</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_sender'>sender</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_sendable</span><span class='comma'>,</span> <span class='id identifier rubyid_sender'>sender</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_sender'>sender</span> <span class='op'>&&</span> <span class='id identifier rubyid_sender'>sender</span><span class='period'>.</span><span class='id identifier rubyid_open?'>open?</span> <span class='op'>&&</span> <span class='id identifier rubyid_sender'>sender</span><span class='period'>.</span><span class='id identifier rubyid_credit'>credit</span> <span class='op'>></span> <span class='int'>0</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_link_local_open-instance_method"> |
| |
| #<strong>on_link_local_open</strong>(event) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Add flow control for local link open</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 96</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 96</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_link_local_open'>on_link_local_open</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> <span class='id identifier rubyid_add_credit'>add_credit</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_link_remote_close-instance_method"> |
| |
| #<strong>on_link_remote_close</strong>(event) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 79 |
| 80 |
| 81 |
| 82 |
| 83 |
| 84 |
| 85</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 79</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_link_remote_close'>on_link_remote_close</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_sender?'>sender?</span> |
| <span class='id identifier rubyid_delegate_error'>delegate_error</span><span class='lparen'>(</span><span class='id identifier rubyid_s'>s</span> <span class='op'>?</span> <span class='symbol'>:on_sender_error</span> <span class='op'>:</span> <span class='symbol'>:on_receiver_error</span><span class='comma'>,</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_condition'>condition</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='id identifier rubyid_s'>s</span> <span class='op'>?</span> <span class='symbol'>:on_sender_close</span> <span class='op'>:</span> <span class='symbol'>:on_receiver_close</span><span class='comma'>,</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='kw'>if</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_local_active?'>local_active?</span> |
| <span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="../StopAutoResponse.html" title="Qpid::Proton::StopAutoResponse (class)">StopAutoResponse</a></span></span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_link_remote_open-instance_method"> |
| |
| #<strong>on_link_remote_open</strong>(event) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| <p>Link open/close is handled separately because links are split into sender and receiver on the messaging API</p> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 68 |
| 69 |
| 70 |
| 71 |
| 72 |
| 73 |
| 74 |
| 75 |
| 76 |
| 77</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 68</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_link_remote_open'>on_link_remote_open</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_local_active?'>local_active?</span> <span class='comment'># Copy remote terminus data to local |
| </span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_replace'>replace</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_remote_source'>remote_source</span><span class='rparen'>)</span><span class='semicolon'>;</span> |
| <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_replace'>replace</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_remote_target'>remote_target</span><span class='rparen'>)</span><span class='semicolon'>;</span> |
| <span class='kw'>end</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_sender?'>sender?</span> <span class='op'>?</span> <span class='symbol'>:on_sender_open</span> <span class='op'>:</span> <span class='symbol'>:on_receiver_open</span><span class='comma'>,</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span> <span class='kw'>if</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_link'>link</span><span class='period'>.</span><span class='id identifier rubyid_local_uninit?'>local_uninit?</span> |
| <span class='id identifier rubyid_add_credit'>add_credit</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="../StopAutoResponse.html" title="Qpid::Proton::StopAutoResponse (class)">StopAutoResponse</a></span></span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_transport_closed-instance_method"> |
| |
| #<strong>on_transport_closed</strong>(event) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 91 |
| 92 |
| 93</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 91</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_transport_closed'>on_transport_closed</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_delegate'>delegate</span><span class='lparen'>(</span><span class='symbol'>:on_transport_close</span><span class='comma'>,</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span> <span class='kw'>rescue</span> <span class='const'><span class='object_link'><a href="../StopAutoResponse.html" title="Qpid::Proton::StopAutoResponse (class)">StopAutoResponse</a></span></span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| <div class="method_details "> |
| <h3 class="signature " id="on_transport_error-instance_method"> |
| |
| #<strong>on_transport_error</strong>(event) |
| |
| |
| |
| |
| |
| </h3><div class="docstring"> |
| <div class="discussion"> |
| |
| |
| </div> |
| </div> |
| <div class="tags"> |
| |
| |
| </div><table class="source_code"> |
| <tr> |
| <td> |
| <pre class="lines"> |
| |
| |
| 87 |
| 88 |
| 89</pre> |
| </td> |
| <td> |
| <pre class="code"><span class="info file"># File 'lib/handler/messaging_adapter.rb', line 87</span> |
| |
| <span class='kw'>def</span> <span class='id identifier rubyid_on_transport_error'>on_transport_error</span><span class='lparen'>(</span><span class='id identifier rubyid_event'>event</span><span class='rparen'>)</span> |
| <span class='id identifier rubyid_delegate_error'>delegate_error</span><span class='lparen'>(</span><span class='symbol'>:on_transport_error</span><span class='comma'>,</span> <span class='id identifier rubyid_event'>event</span><span class='period'>.</span><span class='id identifier rubyid_context'>context</span><span class='rparen'>)</span> |
| <span class='kw'>end</span></pre> |
| </td> |
| </tr> |
| </table> |
| </div> |
| |
| </div> |
| |
| </div> |
| |
| <div id="footer"> |
| Generated on Wed Nov 11 12:57:53 2020 by |
| <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> |
| 0.9.24 (ruby-2.7.2). |
| </div> |
| |
| </div> |
| </body> |
| </html> |