<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
  Class: Qpid::Proton::Connection
  
    &mdash; Qpid Proton Ruby API
  
</title>

  <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />

  <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />

<script type="text/javascript" charset="utf-8">
  pathId = "Qpid::Proton::Connection";
  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 (C)</a> &raquo;
    <span class='title'><span class='object_link'><a href="../../Qpid.html" title="Qpid (module)">Qpid</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Proton.html" title="Qpid::Proton (module)">Proton</a></span></span>
     &raquo; 
    <span class="title">Connection</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::Connection
  
  
  
</h1>
<div class="box_info">
  
  <dl>
    <dt>Inherits:</dt>
    <dd>
      <span class="inheritName"><span class='object_link'><a href="Endpoint.html" title="Qpid::Proton::Endpoint (class)">Endpoint</a></span></span>
      
        <ul class="fullTree">
          <li>Object</li>
          
            <li class="next"><span class='object_link'><a href="Endpoint.html" title="Qpid::Proton::Endpoint (class)">Endpoint</a></span></li>
          
            <li class="next">Qpid::Proton::Connection</li>
          
        </ul>
        <a href="#" class="inheritanceTree">show all</a>
      
    </dd>
  </dl>
  

  
  
  
  
  

  

  
  <dl>
    <dt>Defined in:</dt>
    <dd>lib/core/connection.rb</dd>
  </dl>
  
</div>

<h2>Overview</h2><div class="docstring">
  <div class="discussion">
    
<p>An AMQP connection.</p>


  </div>
</div>
<div class="tags">
  

</div>
  <h2>Constant Summary</h2>
  <dl class="constants">
    
      <dt id="PROTON_METHOD_PREFIX-constant" class="">PROTON_METHOD_PREFIX =
        <div class="docstring">
  <div class="discussion">
    

  </div>
</div>
<div class="tags">
  

</div>
      </dt>
      <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>pn_connection</span><span class='tstring_end'>&quot;</span></span></pre></dd>
    
  </dl>



  
  
  <h3 class="inherited">Constants inherited
     from <span class='object_link'><a href="Endpoint.html" title="Qpid::Proton::Endpoint (class)">Endpoint</a></span></h3>
  <p class="inherited"><span class='object_link'><a href="Endpoint.html#LOCAL_ACTIVE-constant" title="Qpid::Proton::Endpoint::LOCAL_ACTIVE (constant)">Endpoint::LOCAL_ACTIVE</a></span>, <span class='object_link'><a href="Endpoint.html#LOCAL_CLOSED-constant" title="Qpid::Proton::Endpoint::LOCAL_CLOSED (constant)">Endpoint::LOCAL_CLOSED</a></span>, <span class='object_link'><a href="Endpoint.html#LOCAL_MASK-constant" title="Qpid::Proton::Endpoint::LOCAL_MASK (constant)">Endpoint::LOCAL_MASK</a></span>, <span class='object_link'><a href="Endpoint.html#LOCAL_UNINIT-constant" title="Qpid::Proton::Endpoint::LOCAL_UNINIT (constant)">Endpoint::LOCAL_UNINIT</a></span>, <span class='object_link'><a href="Endpoint.html#REMOTE_ACTIVE-constant" title="Qpid::Proton::Endpoint::REMOTE_ACTIVE (constant)">Endpoint::REMOTE_ACTIVE</a></span>, <span class='object_link'><a href="Endpoint.html#REMOTE_CLOSED-constant" title="Qpid::Proton::Endpoint::REMOTE_CLOSED (constant)">Endpoint::REMOTE_CLOSED</a></span>, <span class='object_link'><a href="Endpoint.html#REMOTE_MASK-constant" title="Qpid::Proton::Endpoint::REMOTE_MASK (constant)">Endpoint::REMOTE_MASK</a></span>, <span class='object_link'><a href="Endpoint.html#REMOTE_UNINIT-constant" title="Qpid::Proton::Endpoint::REMOTE_UNINIT (constant)">Endpoint::REMOTE_UNINIT</a></span></p>


  <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
  <ul class="summary">
    
      <li class="public ">
  <span class="summary_signature">
    
      <a href="#container-instance_method" title="#container (instance method)">#<strong>container</strong>  &#x21d2; Container </a>
    

    
  </span>
  
  
  
    
      <span class="note title readonly">readonly</span>
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>The container managing this connection.</p>
</div></span>
  
</li>

    
      <li class="public ">
  <span class="summary_signature">
    
      <a href="#work_queue-instance_method" title="#work_queue (instance method)">#<strong>work_queue</strong>  &#x21d2; WorkQueue </a>
    

    
  </span>
  
  
  
    
      <span class="note title readonly">readonly</span>
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Work queue to execute code serialized correctly for this 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="#close-instance_method" title="#close (instance method)">#<strong>close</strong>(error = nil)  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Closes the local end of the connection.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#connection-instance_method" title="#connection (instance method)">#<strong>connection</strong>  &#x21d2; Connection </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Self.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#container_id-instance_method" title="#container_id (instance method)">#<strong>container_id</strong>  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>To get the local container ID use <span class='object_link'><a href="#container-instance_method" title="Qpid::Proton::Connection#container (method)">#container</a></span> and <span class='object_link'><a href="Container.html#id-instance_method" title="Qpid::Proton::Container#id (method)">Qpid::Proton::Container#id</a></span>.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#default_session-instance_method" title="#default_session (instance method)">#<strong>default_session</strong>  &#x21d2; Session </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Returns the default session for this connection.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#desired_capabilities-instance_method" title="#desired_capabilities (instance method)">#<strong>desired_capabilities</strong>  &#x21d2; Array&lt;Symbol&gt; </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Desired capabilities provided by the remote peer.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#each_link-instance_method" title="#each_link (instance method)">#<strong>each_link</strong>  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Get the links on this connection.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#each_receiver-instance_method" title="#each_receiver (instance method)">#<strong>each_receiver</strong>  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Get the <span class='object_link'><a href="Receiver.html" title="Qpid::Proton::Receiver (class)">Receiver</a></span> links - see <span class='object_link'><a href="#each_link-instance_method" title="Qpid::Proton::Connection#each_link (method)">#each_link</a></span>.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#each_sender-instance_method" title="#each_sender (instance method)">#<strong>each_sender</strong>  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Get the <span class='object_link'><a href="Sender.html" title="Qpid::Proton::Sender (class)">Sender</a></span> links - see <span class='object_link'><a href="#each_link-instance_method" title="Qpid::Proton::Connection#each_link (method)">#each_link</a></span>.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#each_session-instance_method" title="#each_session (instance method)">#<strong>each_session</strong>(&amp;block)  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Get the sessions on this connection.</p>
</div></span>
  
</li>

      
        <li class="public deprecated">
  <span class="summary_signature">
    
      <a href="#error-instance_method" title="#error (instance method)">#<strong>error</strong>  </a>
    

    
  </span>
  
  
  
  
  
  <span class="deprecated note title">deprecated</span>
  

  
    <span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
<p>use <span class='object_link'>Endpoint#condition</span></p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#idle_timeout-instance_method" title="#idle_timeout (instance method)">#<strong>idle_timeout</strong>  &#x21d2; Numeric<sup>?</sup> </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Idle-timeout advertised by the remote peer, in seconds.</p>
</div></span>
  
</li>

      
        <li class="public deprecated">
  <span class="summary_signature">
    
      <a href="#link_head-instance_method" title="#link_head (instance method)">#<strong>link_head</strong>(mask)  </a>
    

    
  </span>
  
  
  
  
  
  <span class="deprecated note title">deprecated</span>
  

  
    <span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
<p>use <span class='object_link'><a href="#each_link-instance_method" title="Qpid::Proton::Connection#each_link (method)">#each_link</a></span></p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#max_frame_size-instance_method" title="#max_frame_size (instance method)">#<strong>max_frame_size</strong>  &#x21d2; Integer<sup>?</sup> </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Maximum frame size, in bytes, advertised by the remote peer.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#max_sessions-instance_method" title="#max_sessions (instance method)">#<strong>max_sessions</strong>  &#x21d2; Integer<sup>?</sup> </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Session limit advertised by the remote peer.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#offered_capabilities-instance_method" title="#offered_capabilities (instance method)">#<strong>offered_capabilities</strong>  &#x21d2; Array&lt;Symbol&gt; </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Offered capabilities provided by the remote peer.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#open-instance_method" title="#open (instance method)">#<strong>open</strong>(opts = nil)  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Open the local end of the connection.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#open_receiver-instance_method" title="#open_receiver (instance method)">#<strong>open_receiver</strong>(opts = nil)  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Open a  on the default_session.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#open_sender-instance_method" title="#open_sender (instance method)">#<strong>open_sender</strong>(opts = nil)  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Open a sender on the default_session.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#open_session-instance_method" title="#open_session (instance method)">#<strong>open_session</strong>  </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Open a new session on this connection.</p>
</div></span>
  
</li>

      
        <li class="public deprecated">
  <span class="summary_signature">
    
      <a href="#overrides%3F-instance_method" title="#overrides? (instance method)">#<strong>overrides?</strong>  &#x21d2; Boolean </a>
    

    
  </span>
  
  
  
  
  
  <span class="deprecated note title">deprecated</span>
  

  
    <span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
<p>no replacement</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#properties-instance_method" title="#properties (instance method)">#<strong>properties</strong>  &#x21d2; Hash </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Connection-properties provided by the remote peer.</p>
</div></span>
  
</li>

      
        <li class="public deprecated">
  <span class="summary_signature">
    
      <a href="#session_head-instance_method" title="#session_head (instance method)">#<strong>session_head</strong>(mask)  </a>
    

    
  </span>
  
  
  
  
  
  <span class="deprecated note title">deprecated</span>
  

  
    <span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
<p>use <span class='object_link'><a href="#each_session-instance_method" title="Qpid::Proton::Connection#each_session (method)">#each_session</a></span></p>
</div></span>
  
</li>

      
        <li class="public deprecated">
  <span class="summary_signature">
    
      <a href="#session_policy%3F-instance_method" title="#session_policy? (instance method)">#<strong>session_policy?</strong>  &#x21d2; Boolean </a>
    

    
  </span>
  
  
  
  
  
  <span class="deprecated note title">deprecated</span>
  

  
    <span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
<p>no replacement</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#state-instance_method" title="#state (instance method)">#<strong>state</strong>  &#x21d2; Integer </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Gets the endpoint current state flags.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#transport-instance_method" title="#transport (instance method)">#<strong>transport</strong>  &#x21d2; Transport<sup>?</sup> </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Transport bound to this connection, or nil if unbound.</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#user-instance_method" title="#user (instance method)">#<strong>user</strong>  &#x21d2; String </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>or the authenticated user name (incoming connection).</p>
</div></span>
  
</li>

      
        <li class="public ">
  <span class="summary_signature">
    
      <a href="#virtual_host-instance_method" title="#virtual_host (instance method)">#<strong>virtual_host</strong>  &#x21d2; String </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>The AMQP hostname for the connection.</p>
</div></span>
  
</li>

      
        <li class="public deprecated">
  <span class="summary_signature">
    
      <a href="#work_head-instance_method" title="#work_head (instance method)">#<strong>work_head</strong>  </a>
    

    
  </span>
  
  
  
  
  
  <span class="deprecated note title">deprecated</span>
  

  
    <span class="summary_desc"><strong>Deprecated.</strong> <div class='inline'>
<p>use #MessagingHandler to handle work</p>
</div></span>
  
</li>

      
    </ul>
  


  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Endpoint.html" title="Qpid::Proton::Endpoint (class)">Endpoint</a></span></h3>
  <p class="inherited"><span class='object_link'><a href="Endpoint.html#closed%3F-instance_method" title="Qpid::Proton::Endpoint#closed? (method)">#closed?</a></span>, <span class='object_link'><a href="Endpoint.html#local_closed%3F-instance_method" title="Qpid::Proton::Endpoint#local_closed? (method)">#local_closed?</a></span>, <span class='object_link'><a href="Endpoint.html#local_open%3F-instance_method" title="Qpid::Proton::Endpoint#local_open? (method)">#local_open?</a></span>, <span class='object_link'><a href="Endpoint.html#local_uninit%3F-instance_method" title="Qpid::Proton::Endpoint#local_uninit? (method)">#local_uninit?</a></span>, <span class='object_link'><a href="Endpoint.html#open%3F-instance_method" title="Qpid::Proton::Endpoint#open? (method)">#open?</a></span>, <span class='object_link'><a href="Endpoint.html#remote_closed%3F-instance_method" title="Qpid::Proton::Endpoint#remote_closed? (method)">#remote_closed?</a></span>, <span class='object_link'><a href="Endpoint.html#remote_open%3F-instance_method" title="Qpid::Proton::Endpoint#remote_open? (method)">#remote_open?</a></span>, <span class='object_link'><a href="Endpoint.html#remote_uninit%3F-instance_method" title="Qpid::Proton::Endpoint#remote_uninit? (method)">#remote_uninit?</a></span></p>

  <div id="instance_attr_details" class="attr_details">
    <h2>Instance Attribute Details</h2>
    
      
      <span id=""></span>
      <div class="method_details first">
  <h3 class="signature first" id="container-instance_method">
  
    #<strong>container</strong>  &#x21d2; <tt><span class='object_link'><a href="Container.html" title="Qpid::Proton::Container (class)">Container</a></span></tt>  <span class="extras">(readonly)</span>
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns the container managing this connection</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="Container.html" title="Qpid::Proton::Container (class)">Container</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>the container managing this connection</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


76
77
78</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 76</span>

<span class='kw'>def</span> <span class='id identifier rubyid_container'>container</span>
  <span class='ivar'>@container</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      
      <span id=""></span>
      <div class="method_details ">
  <h3 class="signature " id="work_queue-instance_method">
  
    #<strong>work_queue</strong>  &#x21d2; <tt><span class='object_link'><a href="WorkQueue.html" title="Qpid::Proton::WorkQueue (class)">WorkQueue</a></span></tt>  <span class="extras">(readonly)</span>
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns work queue to execute code serialized correctly for this connection</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="WorkQueue.html" title="Qpid::Proton::WorkQueue (class)">WorkQueue</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>work queue to execute code serialized correctly for this connection</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


289
290
291</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 289</span>

<span class='kw'>def</span> <span class='id identifier rubyid_work_queue'>work_queue</span>
  <span class='ivar'>@work_queue</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="close-instance_method">
  
    #<strong>close</strong>(error = nil)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Closes the local end of the connection. The remote end may or may not be
closed.</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>error</span>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="Condition.html" title="Qpid::Proton::Condition (class)">Condition</a></span></tt>)</span>
      
      
        <em class="default">(defaults to: <tt>nil</tt>)</em>
      
      
        &mdash;
        <div class='inline'>
<p>Optional error condition to send with the close.</p>
</div>
      
    </li>
  
</ul>


</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


172
173
174
175</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 172</span>

<span class='kw'>def</span> <span class='id identifier rubyid_close'>close</span><span class='lparen'>(</span><span class='id identifier rubyid_error'>error</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
  <span class='const'><span class='object_link'><a href="Condition.html" title="Qpid::Proton::Condition (class)">Condition</a></span></span><span class='period'>.</span><span class='id identifier rubyid_assign'>assign</span><span class='lparen'>(</span><span class='id identifier rubyid__local_condition'>_local_condition</span><span class='comma'>,</span> <span class='id identifier rubyid_error'>error</span><span class='rparen'>)</span>
  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_close'>pn_connection_close</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="connection-instance_method">
  
    #<strong>connection</strong>  &#x21d2; <tt><span class='object_link'><a href="" title="Qpid::Proton::Connection (class)">Connection</a></span></tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns self</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="" title="Qpid::Proton::Connection (class)">Connection</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>self</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


65</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 65</span>

<span class='kw'>def</span> <span class='id identifier rubyid_connection'>connection</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='kw'>self</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="container_id-instance_method">
  
    #<strong>container_id</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>To get the local container ID use <span class='object_link'><a href="#container-instance_method" title="Qpid::Proton::Connection#container (method)">#container</a></span> and <span class='object_link'><a href="Container.html#id-instance_method" title="Qpid::Proton::Container#id (method)">Qpid::Proton::Container#id</a></span></p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'></span>
      
      
      
        
        <div class='inline'>
<p>AMQP container ID advertised by the remote peer.</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


72</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 72</span>

<span class='kw'>def</span> <span class='id identifier rubyid_container_id'>container_id</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_remote_container'>pn_connection_remote_container</span><span class='lparen'>(</span><span class='ivar'>@impl</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="default_session-instance_method">
  
    #<strong>default_session</strong>  &#x21d2; <tt><span class='object_link'><a href="Session.html" title="Qpid::Proton::Session (class)">Session</a></span></tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns the default session for this connection.</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="Session.html" title="Qpid::Proton::Session (class)">Session</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>The session.</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


194
195
196</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 194</span>

<span class='kw'>def</span> <span class='id identifier rubyid_default_session'>default_session</span>
  <span class='ivar'>@session</span> <span class='op'>||=</span> <span class='id identifier rubyid_open_session'>open_session</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="desired_capabilities-instance_method">
  
    #<strong>desired_capabilities</strong>  &#x21d2; <tt><span class='object_link'>Array</span>&lt;Symbol&gt;</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns desired capabilities provided by the remote peer</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'>Array</span>&lt;Symbol&gt;</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>desired capabilities provided by the remote peer</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


85
86
87</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 85</span>

<span class='kw'>def</span> <span class='id identifier rubyid_desired_capabilities'>desired_capabilities</span>
  <span class='const'>Codec</span><span class='op'>::</span><span class='const'>Data</span><span class='period'>.</span><span class='id identifier rubyid_to_object'>to_object</span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_remote_desired_capabilities'>pn_connection_remote_desired_capabilities</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="each_link-instance_method">
  
    
      <span class="overload">#<strong>each_link</strong> {|l| ... } </span>
    
      <span class="overload">#<strong>each_link</strong>  &#x21d2; <tt>Enumerator</tt> </span>
    
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Get the links on this connection.</p>


  </div>
</div>
<div class="tags">
  
  <p class="tag_title">Overloads:</p>
  <ul class="overload">
    
      
      <li class="overload_item">
        <span class="signature">#<strong>each_link</strong> {|l| ... } </span>
        <div class="docstring">
  <div class="discussion">
    

  </div>
</div>
<div class="tags">
  
<p class="tag_title">Yield Parameters:</p>
<ul class="yieldparam">
  
    <li>
      
        <span class='name'>l</span>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="Link.html" title="Qpid::Proton::Link (class)">Link</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>pass each link to block</p>
</div>
      
    </li>
  
</ul>

</div>
      </li>
    
      
      <li class="overload_item">
        <span class="signature">#<strong>each_link</strong>  &#x21d2; <tt>Enumerator</tt> </span>
        <div class="docstring">
  <div class="discussion">
    
<p>Returns enumerator over links</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Enumerator</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>enumerator over links</p>
</div>
      
    </li>
  
</ul>

</div>
      </li>
    
  </ul>


</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


248
249
250
251
252
253
254
255
256
257</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 248</span>

<span class='kw'>def</span> <span class='id identifier rubyid_each_link'>each_link</span>
  <span class='kw'>return</span> <span class='id identifier rubyid_enum_for'>enum_for</span><span class='lparen'>(</span><span class='symbol'>:each_link</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
  <span class='id identifier rubyid_l'>l</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_link_head'>pn_link_head</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span><span class='semicolon'>;</span>
  <span class='kw'>while</span> <span class='id identifier rubyid_l'>l</span>
    <span class='id identifier rubyid_l2'>l2</span> <span class='op'>=</span> <span class='id identifier rubyid_l'>l</span>                  <span class='comment'>#  get next before yield, in case yield closes l and unlinks it
</span>    <span class='id identifier rubyid_l'>l</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_link_next'>pn_link_next</span><span class='lparen'>(</span><span class='id identifier rubyid_l'>l</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
    <span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="Link.html" title="Qpid::Proton::Link (class)">Link</a></span></span><span class='period'>.</span><span class='id identifier rubyid_wrap'>wrap</span><span class='lparen'>(</span><span class='id identifier rubyid_l2'>l2</span><span class='rparen'>)</span>
  <span class='kw'>end</span>
  <span class='kw'>self</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="each_receiver-instance_method">
  
    #<strong>each_receiver</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Get the <span class='object_link'><a href="Receiver.html" title="Qpid::Proton::Receiver (class)">Receiver</a></span> links - see <span class='object_link'><a href="#each_link-instance_method" title="Qpid::Proton::Connection#each_link (method)">#each_link</a></span></p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


266
267
268
269</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 266</span>

<span class='kw'>def</span> <span class='id identifier rubyid_each_receiver'>each_receiver</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='kw'>return</span> <span class='id identifier rubyid_enum_for'>enum_for</span><span class='lparen'>(</span><span class='symbol'>:each_receiver</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
  <span class='id identifier rubyid_each_link'>each_link</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='kw'>yield</span> <span class='id identifier rubyid_l'>l</span> <span class='kw'>if</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_receiver?'>receiver?</span> <span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="each_sender-instance_method">
  
    #<strong>each_sender</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Get the <span class='object_link'><a href="Sender.html" title="Qpid::Proton::Sender (class)">Sender</a></span> links - see <span class='object_link'><a href="#each_link-instance_method" title="Qpid::Proton::Connection#each_link (method)">#each_link</a></span></p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


260
261
262
263</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 260</span>

<span class='kw'>def</span> <span class='id identifier rubyid_each_sender'>each_sender</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='kw'>return</span> <span class='id identifier rubyid_enum_for'>enum_for</span><span class='lparen'>(</span><span class='symbol'>:each_sender</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
  <span class='id identifier rubyid_each_link'>each_link</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_l'>l</span><span class='op'>|</span> <span class='kw'>yield</span> <span class='id identifier rubyid_l'>l</span> <span class='kw'>if</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_sender?'>sender?</span> <span class='rbrace'>}</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="each_session-instance_method">
  
    
      <span class="overload">#<strong>each_session</strong> {|s| ... } </span>
    
      <span class="overload">#<strong>each_session</strong>  &#x21d2; <tt>Enumerator</tt> </span>
    
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Get the sessions on this connection.</p>


  </div>
</div>
<div class="tags">
  
  <p class="tag_title">Overloads:</p>
  <ul class="overload">
    
      
      <li class="overload_item">
        <span class="signature">#<strong>each_session</strong> {|s| ... } </span>
        <div class="docstring">
  <div class="discussion">
    

  </div>
</div>
<div class="tags">
  
<p class="tag_title">Yield Parameters:</p>
<ul class="yieldparam">
  
    <li>
      
        <span class='name'>s</span>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="Session.html" title="Qpid::Proton::Session (class)">Session</a></span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>pass each session to block</p>
</div>
      
    </li>
  
</ul>

</div>
      </li>
    
      
      <li class="overload_item">
        <span class="signature">#<strong>each_session</strong>  &#x21d2; <tt>Enumerator</tt> </span>
        <div class="docstring">
  <div class="discussion">
    
<p>Returns enumerator over sessions</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Enumerator</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>enumerator over sessions</p>
</div>
      
    </li>
  
</ul>

</div>
      </li>
    
  </ul>


</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


227
228
229
230
231
232
233
234
235</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 227</span>

<span class='kw'>def</span> <span class='id identifier rubyid_each_session'>each_session</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
  <span class='kw'>return</span> <span class='id identifier rubyid_enum_for'>enum_for</span><span class='lparen'>(</span><span class='symbol'>:each_session</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
  <span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_session_head'>pn_session_head</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span><span class='semicolon'>;</span>
  <span class='kw'>while</span> <span class='id identifier rubyid_s'>s</span>
    <span class='kw'>yield</span> <span class='const'><span class='object_link'><a href="Session.html" title="Qpid::Proton::Session (class)">Session</a></span></span><span class='period'>.</span><span class='id identifier rubyid_wrap'>wrap</span><span class='lparen'>(</span><span class='id identifier rubyid_s'>s</span><span class='rparen'>)</span>
    <span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_session_next'>pn_session_next</span><span class='lparen'>(</span><span class='id identifier rubyid_s'>s</span><span class='comma'>,</span> <span class='int'>0</span><span class='rparen'>)</span>
  <span class='kw'>end</span>
  <span class='kw'>self</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="error-instance_method">
  
    #<strong>error</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
<p>use <span class='object_link'>Endpoint#condition</span></p>
</div></div>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


278
279
280
281</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 278</span>

<span class='kw'>def</span> <span class='id identifier rubyid_error'>error</span>
  <span class='id identifier rubyid_deprecated'>deprecated</span> <span class='id identifier rubyid___method__'>__method__</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>#condition</span><span class='tstring_end'>&quot;</span></span>
  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_error_code'>pn_error_code</span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_error'>pn_connection_error</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="idle_timeout-instance_method">
  
    #<strong>idle_timeout</strong>  &#x21d2; <tt>Numeric</tt><sup>?</sup> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Idle-timeout advertised by the remote peer, in seconds.</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Numeric</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>Idle-timeout advertised by the remote peer, in seconds.</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'>(<tt>nil</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>if the peer does not advertise an idle time-out</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


145
146
147
148
149</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 145</span>

<span class='kw'>def</span> <span class='id identifier rubyid_idle_timeout'>idle_timeout</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='kw'>if</span> <span class='id identifier rubyid_transport'>transport</span> <span class='op'>&amp;&amp;</span> <span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_remote_idle_timeout'>remote_idle_timeout</span><span class='rparen'>)</span>
    <span class='const'>Rational</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='comma'>,</span> <span class='int'>1000</span><span class='rparen'>)</span>       <span class='comment'># More precise than Float
</span>  <span class='kw'>end</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="link_head-instance_method">
  
    #<strong>link_head</strong>(mask)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
<p>use <span class='object_link'><a href="#each_link-instance_method" title="Qpid::Proton::Connection#each_link (method)">#each_link</a></span></p>
</div></div>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


238
239
240
241</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 238</span>

<span class='kw'>def</span> <span class='id identifier rubyid_link_head'>link_head</span><span class='lparen'>(</span><span class='id identifier rubyid_mask'>mask</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_deprecated'>deprecated</span> <span class='id identifier rubyid___method__'>__method__</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>#each_link</span><span class='tstring_end'>&quot;</span></span>
  <span class='const'><span class='object_link'><a href="Link.html" title="Qpid::Proton::Link (class)">Link</a></span></span><span class='period'>.</span><span class='id identifier rubyid_wrap'>wrap</span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_link_head'>pn_link_head</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_mask'>mask</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="max_frame_size-instance_method">
  
    #<strong>max_frame_size</strong>  &#x21d2; <tt>Integer</tt><sup>?</sup> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Maximum frame size, in bytes, advertised by the remote peer. See
<span class='object_link'><a href="#open-instance_method" title="Qpid::Proton::Connection#open (method)">:max_frame_size</a></span></p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Integer</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>maximum frame size</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'>(<tt>nil</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>no limit</p>
</div>
      
    </li>
  
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="StateError.html" title="Qpid::Proton::StateError (class)">StateError</a></span></tt>)</span>
      
      
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


164
165
166
167
168</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 164</span>

<span class='kw'>def</span> <span class='id identifier rubyid_max_frame_size'>max_frame_size</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="StateError.html" title="Qpid::Proton::StateError (class)">StateError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>connection not bound to transport</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_transport'>transport</span>
  <span class='id identifier rubyid_max'>max</span> <span class='op'>=</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_remote_max_frame'>remote_max_frame</span>
  <span class='kw'>return</span> <span class='id identifier rubyid_max'>max</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span> <span class='op'>?</span> <span class='kw'>nil</span> <span class='op'>:</span> <span class='id identifier rubyid_max'>max</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="max_sessions-instance_method">
  
    #<strong>max_sessions</strong>  &#x21d2; <tt>Integer</tt><sup>?</sup> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Session limit advertised by the remote peer. See <span class='object_link'><a href="#open-instance_method" title="Qpid::Proton::Connection#open (method)">:max_sessions</a></span></p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Integer</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>maximum number of sessions per connection allowed by remote peer.</p>
</div>
      
    </li>
  
    <li>
      
      
        <span class='type'>(<tt>nil</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>no specific limit is set.</p>
</div>
      
    </li>
  
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="StateError.html" title="Qpid::Proton::StateError (class)">StateError</a></span></tt>)</span>
      
      
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


154
155
156
157
158</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 154</span>

<span class='kw'>def</span> <span class='id identifier rubyid_max_sessions'>max_sessions</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="StateError.html" title="Qpid::Proton::StateError (class)">StateError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>connection not bound to transport</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_transport'>transport</span>
  <span class='id identifier rubyid_max'>max</span> <span class='op'>=</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_remote_channel_max'>remote_channel_max</span>
  <span class='kw'>return</span> <span class='id identifier rubyid_max'>max</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span> <span class='op'>?</span> <span class='kw'>nil</span> <span class='op'>:</span> <span class='id identifier rubyid_max'>max</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="offered_capabilities-instance_method">
  
    #<strong>offered_capabilities</strong>  &#x21d2; <tt><span class='object_link'>Array</span>&lt;Symbol&gt;</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns offered capabilities provided by the remote peer</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'>Array</span>&lt;Symbol&gt;</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>offered capabilities provided by the remote peer</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


79
80
81</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 79</span>

<span class='kw'>def</span> <span class='id identifier rubyid_offered_capabilities'>offered_capabilities</span>
  <span class='const'>Codec</span><span class='op'>::</span><span class='const'>Data</span><span class='period'>.</span><span class='id identifier rubyid_to_object'>to_object</span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_remote_offered_capabilities'>pn_connection_remote_offered_capabilities</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="open-instance_method">
  
    #<strong>open</strong>(opts = nil)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Open the local end of the connection.</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>opts</span>
      
      
        <span class='type'>(<tt><span class='object_link'>Hash</span></tt>)</span>
      
      
        <em class="default">(defaults to: <tt>nil</tt>)</em>
      
      
        &mdash;
        <div class='inline'>
<p>a customizable set of options</p>
</div>
      
    </li>
  
</ul>

  
    
    
    <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
    <ul class="option">
      
        <li>
          <span class="name">:handler</span>
          <span class="type">(<tt><span class='object_link'><a href="MessagingHandler.html" title="Qpid::Proton::MessagingHandler (class)">MessagingHandler</a></span></tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>handler for events related to this connection.</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:user</span>
          <span class="type">(<tt>String</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>User name for authentication</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:password</span>
          <span class="type">(<tt>String</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>Authentication secret</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:virtual_host</span>
          <span class="type">(<tt>String</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>Virtual host name</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:container_id</span>
          <span class="type">(<tt>String</tt>)</span>
          <span class="default">
            
              &mdash; default:
              <tt>provided by {Container}</tt>
            
          </span>
          
            &mdash; <div class='inline'>
<p>override advertised container-id</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:properties</span>
          <span class="type">(<tt><span class='object_link'>Hash</span>&lt;Symbol=&gt;Object&gt;</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>Application-defined properties</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:offered_capabilities</span>
          <span class="type">(<tt><span class='object_link'>Array</span>&lt;Symbol&gt;</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>Extensions the endpoint supports</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:desired_capabilities</span>
          <span class="type">(<tt><span class='object_link'>Array</span>&lt;Symbol&gt;</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>Extensions the endpoint can use</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:idle_timeout</span>
          <span class="type">(<tt>Numeric</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>Seconds before closing an idle connection</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:max_sessions</span>
          <span class="type">(<tt>Integer</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>Limit the number of active sessions</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:max_frame_size</span>
          <span class="type">(<tt>Integer</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>Limit the size of AMQP frames</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:sasl_enabled</span>
          <span class="type">(<tt>Boolean</tt>)</span>
          <span class="default">
            
              &mdash; default:
              <tt>false</tt>
            
          </span>
          
            &mdash; <div class='inline'>
<p>Enable or disable SASL.</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:sasl_allow_insecure_mechs</span>
          <span class="type">(<tt>Boolean</tt>)</span>
          <span class="default">
            
              &mdash; default:
              <tt>false</tt>
            
          </span>
          
            &mdash; <div class='inline'>
<p>Allow mechanisms send secrets in clear text</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:sasl_allowed_mechs</span>
          <span class="type">(<tt>String</tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>SASL mechanisms allowed by this end of the connection</p>
</div>
          
        </li>
      
        <li>
          <span class="name">:ssl_domain</span>
          <span class="type">(<tt><span class='object_link'><a href="SSLDomain.html" title="Qpid::Proton::SSLDomain (class)">SSLDomain</a></span></tt>)</span>
          <span class="default">
            
          </span>
          
            &mdash; <div class='inline'>
<p>SSL configuration domain.</p>
</div>
          
        </li>
      
    </ul>
  


</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


119
120
121
122
123</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 119</span>

<span class='kw'>def</span> <span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
  <span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_local_active?'>local_active?</span>
  <span class='id identifier rubyid_apply'>apply</span> <span class='id identifier rubyid_opts'>opts</span> <span class='kw'>if</span> <span class='id identifier rubyid_opts'>opts</span>
  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_open'>pn_connection_open</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="open_receiver-instance_method">
  
    #<strong>open_receiver</strong>(opts = nil)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Open a  on the default_session</p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


214</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 214</span>

<span class='kw'>def</span> <span class='id identifier rubyid_open_receiver'>open_receiver</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span> <span class='id identifier rubyid_default_session'>default_session</span><span class='period'>.</span><span class='id identifier rubyid_open_receiver'>open_receiver</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="open_sender-instance_method">
  
    #<strong>open_sender</strong>(opts = nil)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Open a sender on the default_session</p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


210</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 210</span>

<span class='kw'>def</span> <span class='id identifier rubyid_open_sender'>open_sender</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span> <span class='id identifier rubyid_default_session'>default_session</span><span class='period'>.</span><span class='id identifier rubyid_open_sender'>open_sender</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="open_session-instance_method">
  
    #<strong>open_session</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Open a new session on this connection.</p>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


202
203
204
205
206</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 202</span>

<span class='kw'>def</span> <span class='id identifier rubyid_open_session'>open_session</span>
  <span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="Session.html" title="Qpid::Proton::Session (class)">Session</a></span></span><span class='period'>.</span><span class='id identifier rubyid_wrap'>wrap</span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_session'>pn_session</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span>
  <span class='kw'>return</span> <span class='id identifier rubyid_s'>s</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="overrides?-instance_method">
  
    #<strong>overrides?</strong>  &#x21d2; <tt>Boolean</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
<p>no replacement</p>
</div></div>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Boolean</tt>)</span>
      
      
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


59</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 59</span>

<span class='kw'>def</span> <span class='id identifier rubyid_overrides?'>overrides?</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='id identifier rubyid_deprecated'>deprecated</span> <span class='id identifier rubyid___method__'>__method__</span><span class='semicolon'>;</span> <span class='kw'>false</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="properties-instance_method">
  
    #<strong>properties</strong>  &#x21d2; <tt><span class='object_link'>Hash</span></tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns connection-properties provided by the remote peer</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'>Hash</span></tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>connection-properties provided by the remote peer</p>
</div>
      
    </li>
  
</ul>

</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/core/connection.rb', line 91</span>

<span class='kw'>def</span> <span class='id identifier rubyid_properties'>properties</span>
  <span class='const'>Codec</span><span class='op'>::</span><span class='const'>Data</span><span class='period'>.</span><span class='id identifier rubyid_to_object'>to_object</span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_remote_properties'>pn_connection_remote_properties</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="session_head-instance_method">
  
    #<strong>session_head</strong>(mask)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
<p>use <span class='object_link'><a href="#each_session-instance_method" title="Qpid::Proton::Connection#each_session (method)">#each_session</a></span></p>
</div></div>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


217
218
219
220</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 217</span>

<span class='kw'>def</span>  <span class='id identifier rubyid_session_head'>session_head</span><span class='lparen'>(</span><span class='id identifier rubyid_mask'>mask</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_deprecated'>deprecated</span> <span class='id identifier rubyid___method__'>__method__</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>#each_session</span><span class='tstring_end'>&quot;</span></span>
  <span class='const'><span class='object_link'><a href="Session.html" title="Qpid::Proton::Session (class)">Session</a></span></span><span class='period'>.</span><span class='id identifier rubyid_wrap'>wrap</span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_session_head'>pn_session_head</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_mask'>mask</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="session_policy?-instance_method">
  
    #<strong>session_policy?</strong>  &#x21d2; <tt>Boolean</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
<p>no replacement</p>
</div></div>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Boolean</tt>)</span>
      
      
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


62</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 62</span>

<span class='kw'>def</span> <span class='id identifier rubyid_session_policy?'>session_policy?</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='id identifier rubyid_deprecated'>deprecated</span> <span class='id identifier rubyid___method__'>__method__</span><span class='semicolon'>;</span> <span class='kw'>false</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="state-instance_method">
  
    #<strong>state</strong>  &#x21d2; <tt>Integer</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Gets the endpoint current state flags</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Integer</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>The state flags.</p>
</div>
      
    </li>
  
</ul>

  <p class="tag_title">See Also:</p>
  <ul class="see">
    
      <li>Endpoint#LOCAL_UNINIT</li>
    
      <li>Endpoint#LOCAL_ACTIVE</li>
    
      <li>Endpoint#LOCAL_CLOSED</li>
    
      <li>Endpoint#LOCAL_MASK</li>
    
  </ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


186
187
188</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 186</span>

<span class='kw'>def</span> <span class='id identifier rubyid_state'>state</span>
  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_state'>pn_connection_state</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="transport-instance_method">
  
    #<strong>transport</strong>  &#x21d2; <tt><span class='object_link'><a href="Transport.html" title="Qpid::Proton::Transport (class)">Transport</a></span></tt><sup>?</sup> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns transport bound to this connection, or nil if unbound.</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt><span class='object_link'><a href="Transport.html" title="Qpid::Proton::Transport (class)">Transport</a></span></tt>, <tt>nil</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>transport bound to this connection, or nil if unbound.</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


68</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 68</span>

<span class='kw'>def</span> <span class='id identifier rubyid_transport'>transport</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='const'><span class='object_link'><a href="Transport.html" title="Qpid::Proton::Transport (class)">Transport</a></span></span><span class='period'>.</span><span class='id identifier rubyid_wrap'>wrap</span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_transport'>pn_connection_transport</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</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="user-instance_method">
  
    #<strong>user</strong>  &#x21d2; <tt>String</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>or the authenticated user name (incoming connection)</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>String</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>User name used for authentication (outgoing connection)</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


54
55
56</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 54</span>

<span class='kw'>def</span> <span class='id identifier rubyid_user'>user</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_get_user'>pn_connection_get_user</span><span class='lparen'>(</span><span class='id identifier rubyid_impl'>impl</span><span class='rparen'>)</span> <span class='kw'>or</span> <span class='lparen'>(</span><span class='id identifier rubyid_connection'>connection</span><span class='period'>.</span><span class='id identifier rubyid_transport'>transport</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_connection'>connection</span><span class='period'>.</span><span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_user'>user</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="virtual_host-instance_method">
  
    #<strong>virtual_host</strong>  &#x21d2; <tt>String</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns The AMQP hostname for the connection.</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>String</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>The AMQP hostname for the connection.</p>
</div>
      
    </li>
  
</ul>

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


45</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 45</span>

<span class='kw'>def</span> <span class='id identifier rubyid_virtual_host'>virtual_host</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_remote_hostname'>pn_connection_remote_hostname</span><span class='lparen'>(</span><span class='ivar'>@impl</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="work_head-instance_method">
  
    #<strong>work_head</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    <div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
<p>use #MessagingHandler to handle work</p>
</div></div>


  </div>
</div>
<div class="tags">
  

</div><table class="source_code">
  <tr>
    <td>
      <pre class="lines">


272
273
274
275</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection.rb', line 272</span>

<span class='kw'>def</span> <span class='id identifier rubyid_work_head'>work_head</span>
  <span class='id identifier rubyid_deprecated'>deprecated</span> <span class='id identifier rubyid___method__'>__method__</span>
  <span class='const'><span class='object_link'><a href="Delivery.html" title="Qpid::Proton::Delivery (class)">Delivery</a></span></span><span class='period'>.</span><span class='id identifier rubyid_wrap'><span class='object_link'><a href="Transfer.html#wrap-class_method" title="Qpid::Proton::Transfer.wrap (method)">wrap</a></span></span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_work_head'>pn_work_head</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
  </div>

</div>

      <div id="footer">
  Generated on Tue May 29 09:46:08 2018 by
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
  0.9.8 (ruby-2.4.1).
</div>

    </div>
  </body>
</html>