<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
  Class: Qpid::Proton::ConnectionDriver
  
    &mdash; 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::ConnectionDriver";
  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">ConnectionDriver</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::ConnectionDriver
  
  
  
</h1>
<div class="box_info">
  
  <dl>
    <dt>Inherits:</dt>
    <dd>
      <span class="inheritName">Object</span>
      
        <ul class="fullTree">
          <li>Object</li>
          
            <li class="next">Qpid::Proton::ConnectionDriver</li>
          
        </ul>
        <a href="#" class="inheritanceTree">show all</a>
      
    </dd>
  </dl>
  

  
  
  
  
  

  

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

<h2>Overview</h2><div class="docstring">
  <div class="discussion">
    
<p>Associate an AMQP <span class='object_link'><a href="Connection.html" title="Qpid::Proton::Connection (class)">Connection</a></span> and <span class='object_link'><a href="Transport.html" title="Qpid::Proton::Transport (class)">Transport</a></span> with an IO</p>
<ul><li>
<p><span class='object_link'><a href="#read-instance_method" title="Qpid::Proton::ConnectionDriver#read (method)">#read</a></span> reads AMQP binary data from the IO and generates events</p>
</li><li>
<p><span class='object_link'><a href="#tick-instance_method" title="Qpid::Proton::ConnectionDriver#tick (method)">#tick</a></span> generates timing-related events</p>
</li><li>
<p><span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span> gets events to be dispatched to <span class='object_link'><a href="Handler/MessagingHandler.html" title="Qpid::Proton::Handler::MessagingHandler (class)">Handler::MessagingHandler</a></span>s</p>
</li><li>
<p><span class='object_link'><a href="#write-instance_method" title="Qpid::Proton::ConnectionDriver#write (method)">#write</a></span> writes AMQP binary data to the IO</p>
</li></ul>

<p>Thread safety: The <span class='object_link'><a href="" title="Qpid::Proton::ConnectionDriver (class)">ConnectionDriver</a></span> is not thread safe but separate <span class='object_link'><a href="" title="Qpid::Proton::ConnectionDriver (class)">ConnectionDriver</a></span> instances can be processed concurrently. The <span class='object_link'><a href="Container.html" title="Qpid::Proton::Container (class)">Container</a></span> handles multiple connections concurrently in multiple threads.</p>


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

</div><div id="subclasses">
  <h2>Direct Known Subclasses</h2>
  <p class="children"><span class='object_link'><a href="HandlerDriver.html" title="Qpid::Proton::HandlerDriver (class)">HandlerDriver</a></span></p>
</div>




  <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="#next_tick-instance_method" title="#next_tick (instance method)">#<strong>next_tick</strong>  </a>
    

    
  </span>
  
  
  
    
    
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Time returned by the last call to <span class='object_link'><a href="#tick-instance_method" title="Qpid::Proton::ConnectionDriver#tick (method)">#tick</a></span>.</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="#can_read%3F-instance_method" title="#can_read? (instance method)">#<strong>can_read?</strong>  &#x21d2; Bool </a>
    

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>True if the driver can read more data.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>True if the driver has data to write.</p>
</div></span>
  
</li>

      
        <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>Disconnect both sides of the transport sending/waiting for AMQP close frames.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Disconnect the read side of the transport, without waiting for an AMQP close frame.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Disconnect the write side of the transport, <strong>without</strong> sending an AMQP close frame.</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'></div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Iterator for all available events.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Get the next event to dispatch, nil if no events available.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>True if <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span> will return non-nil.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>True if the ConnectionDriver has nothing left to do: both sides of the transport are closed and there are no events to dispatch.</p>
</div></span>
  
</li>

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

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

  
    <span class="summary_desc"><div class='inline'>
<p>Create a <span class='object_link'><a href="Connection.html" title="Qpid::Proton::Connection (class)">Connection</a></span> and <span class='object_link'><a href="Transport.html" title="Qpid::Proton::Transport (class)">Transport</a></span> associated with <code>io</code>.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Non-blocking read from #io, generate events for <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span> IO errors are returned as transport errors by <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span>, not raised.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Is the read side of the driver closed?.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Handle time-related work, for example idle-timeout events.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Allows ConnectionDriver to be passed directly to IO#select.</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 </a>
    

    
  </span>
  
  
  
  
  
  
  

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

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Non-blocking write to #io IO errors are returned as transport errors by <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span>, not raised.</p>
</div></span>
  
</li>

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

    
  </span>
  
  
  
  
  
  
  

  
    <span class="summary_desc"><div class='inline'>
<p>Is the write side of the driver closed?.</p>
</div></span>
  
</li>

      
    </ul>
  

<div id="constructor_details" class="method_details_list">
  <h2>Constructor Details</h2>
  
    <div class="method_details first">
  <h3 class="signature first" id="initialize-instance_method">
  
    #<strong>initialize</strong>(io)  &#x21d2; <tt><span class='object_link'><a href="" title="Qpid::Proton::ConnectionDriver (class)">ConnectionDriver</a></span></tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Create a <span class='object_link'><a href="Connection.html" title="Qpid::Proton::Connection (class)">Qpid::Proton::Connection</a></span> and <span class='object_link'><a href="Transport.html" title="Qpid::Proton::Transport (class)">Transport</a></span> associated with <code>io</code></p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>io</span>
      
      
        <span class='type'>(<tt>IO</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>An IO or IO-like object that responds to IO#read_nonblock and IO#write_nonblock</p>
</div>
      
    </li>
  
</ul>


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


37
38
39
40
41</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 37</span>

<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_io'>io</span><span class='rparen'>)</span>
  <span class='ivar'>@impl</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pni_connection_driver'>pni_connection_driver</span> <span class='kw'>or</span> <span class='id identifier rubyid_raise'>raise</span> <span class='const'>NoMemoryError</span>
  <span class='ivar'>@io</span> <span class='op'>=</span> <span class='id identifier rubyid_io'>io</span>
  <span class='ivar'>@rbuf</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span>              <span class='comment'># String for re-usable read buffer
</span><span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
  
</div>

  <div id="instance_attr_details" class="attr_details">
    <h2>Instance Attribute Details</h2>
    
      
      <span id="next_tick=-instance_method"></span>
      <div class="method_details first">
  <h3 class="signature first" id="next_tick-instance_method">
  
    #<strong>next_tick</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Time returned by the last call to <span class='object_link'><a href="#tick-instance_method" title="Qpid::Proton::ConnectionDriver#tick (method)">#tick</a></span></p>


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

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


130
131
132</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 130</span>

<span class='kw'>def</span> <span class='id identifier rubyid_next_tick'>next_tick</span>
  <span class='ivar'>@next_tick</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="can_read?-instance_method">
  
    #<strong>can_read?</strong>  &#x21d2; <tt>Bool</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns True if the driver can read more data.</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Bool</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>True if the driver can read more data</p>
</div>
      
    </li>
  
</ul>

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


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

<span class='kw'>def</span> <span class='id identifier rubyid_can_read?'>can_read?</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pni_connection_driver_read_size'>pni_connection_driver_read_size</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span> <span class='op'>&gt;</span> <span class='int'>0</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="can_write?-instance_method">
  
    #<strong>can_write?</strong>  &#x21d2; <tt>Bool</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns True if the driver has data to write.</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Bool</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>True if the driver has data to write</p>
</div>
      
    </li>
  
</ul>

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


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

<span class='kw'>def</span> <span class='id identifier rubyid_can_write?'>can_write?</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pni_connection_driver_write_size'>pni_connection_driver_write_size</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span> <span class='op'>&gt;</span> <span class='int'>0</span><span class='semicolon'>;</span> <span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="close-instance_method">
  
    #<strong>close</strong>(error = nil)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Disconnect both sides of the transport sending/waiting for AMQP close frames. See comments on <span class='object_link'><a href="#close_write-instance_method" title="Qpid::Proton::ConnectionDriver#close_write (method)">#close_write</a></span></p>


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

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


158
159
160
161</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 158</span>

<span class='kw'>def</span> <span class='id identifier rubyid_close'>close</span> <span class='id identifier rubyid_error'>error</span><span class='op'>=</span><span class='kw'>nil</span>
  <span class='id identifier rubyid_close_write'>close_write</span> <span class='id identifier rubyid_error'>error</span>
  <span class='id identifier rubyid_close_read'>close_read</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="close_read-instance_method">
  
    #<strong>close_read</strong>(error = nil)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Disconnect the read side of the transport, without waiting for an AMQP close frame. See comments on <span class='object_link'><a href="#close_write-instance_method" title="Qpid::Proton::ConnectionDriver#close_write (method)">#close_write</a></span></p>


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

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


150
151
152
153
154</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 150</span>

<span class='kw'>def</span> <span class='id identifier rubyid_close_read'>close_read</span> <span class='id identifier rubyid_error'>error</span><span class='op'>=</span><span class='kw'>nil</span>
  <span class='id identifier rubyid_set_error'>set_error</span> <span class='id identifier rubyid_error'>error</span>
  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_driver_read_close'>pn_connection_driver_read_close</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
  <span class='ivar'>@io</span><span class='period'>.</span><span class='id identifier rubyid_close_read'>close_read</span> <span class='kw'>rescue</span> <span class='kw'>nil</span> <span class='comment'># Allow double-close
</span><span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="close_write-instance_method">
  
    #<strong>close_write</strong>(error = nil)  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Disconnect the write side of the transport, <strong>without</strong> sending an AMQP close frame. To close politely, you should use <span class='object_link'><a href="Connection.html#close-instance_method" title="Qpid::Proton::Connection#close (method)">Qpid::Proton::Connection#close</a></span>, the transport will close itself once the protocol close is complete.</p>


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

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


136
137
138
139
140</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 136</span>

<span class='kw'>def</span> <span class='id identifier rubyid_close_write'>close_write</span> <span class='id identifier rubyid_error'>error</span><span class='op'>=</span><span class='kw'>nil</span>
  <span class='id identifier rubyid_set_error'>set_error</span> <span class='id identifier rubyid_error'>error</span>
  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_driver_write_close'>pn_connection_driver_write_close</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
  <span class='ivar'>@io</span><span class='period'>.</span><span class='id identifier rubyid_close_write'>close_write</span> <span class='kw'>rescue</span> <span class='kw'>nil</span> <span class='comment'># Allow double-close
</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="Connection.html" title="Qpid::Proton::Connection (class)">Connection</a></span></tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    

  </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="Connection.html" title="Qpid::Proton::Connection (class)">Connection</a></span></tt>)</span>
      
      
      
    </li>
  
</ul>

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


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

<span class='kw'>def</span> <span class='id identifier rubyid_connection'>connection</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='ivar'>@connection</span> <span class='op'>||=</span> <span class='const'><span class='object_link'><a href="Connection.html" title="Qpid::Proton::Connection (class)">Connection</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_pni_connection_driver_connection'>pni_connection_driver_connection</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_event-instance_method">
  
    #<strong>each_event</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Iterator for all available events</p>


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

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


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

<span class='kw'>def</span> <span class='id identifier rubyid_each_event'>each_event</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='kw'>while</span> <span class='id identifier rubyid_e'>e</span> <span class='op'>=</span> <span class='id identifier rubyid_event'>event</span>
    <span class='kw'>yield</span> <span class='id identifier rubyid_e'>e</span>
  <span class='kw'>end</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="event-instance_method">
  
    #<strong>event</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Get the next event to dispatch, nil if no events available</p>


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

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


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

<span class='kw'>def</span> <span class='id identifier rubyid_event'>event</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_e'>e</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_driver_next_event'>pn_connection_driver_next_event</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
  <span class='const'><span class='object_link'><a href="Event.html" title="Qpid::Proton::Event (class)">Event</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_e'>e</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="event?-instance_method">
  
    #<strong>event?</strong>  &#x21d2; <tt>Boolean</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>True if <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span> will return non-nil</p>


  </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">


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

<span class='kw'>def</span> <span class='id identifier rubyid_event?'>event?</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_driver_has_event'>pn_connection_driver_has_event</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="finished?-instance_method">
  
    #<strong>finished?</strong>  &#x21d2; <tt>Boolean</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>True if the ConnectionDriver has nothing left to do: both sides of the transport are closed and there are no events to dispatch.</p>


  </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">


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

<span class='kw'>def</span> <span class='id identifier rubyid_finished?'>finished?</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_driver_finished'>pn_connection_driver_finished</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="read-instance_method">
  
    #<strong>read</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Non-blocking read from #io, generate events for <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span> IO errors are returned as transport errors by <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span>, not raised</p>


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

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


84
85
86
87
88
89
90
91
92
93
94
95</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 84</span>

<span class='kw'>def</span> <span class='id identifier rubyid_read'>read</span>
  <span class='id identifier rubyid_size'>size</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pni_connection_driver_read_size'>pni_connection_driver_read_size</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
  <span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_size'>size</span> <span class='op'>&lt;=</span> <span class='int'>0</span>
  <span class='ivar'>@io</span><span class='period'>.</span><span class='id identifier rubyid_read_nonblock'>read_nonblock</span><span class='lparen'>(</span><span class='id identifier rubyid_size'>size</span><span class='comma'>,</span> <span class='ivar'>@rbuf</span><span class='rparen'>)</span> <span class='comment'># Use the same string rbuf for reading each time
</span>  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pni_connection_driver_read_copy'>pni_connection_driver_read_copy</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='ivar'>@rbuf</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='ivar'>@rbuf</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
<span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EWOULDBLOCK</span><span class='comma'>,</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EAGAIN</span><span class='comma'>,</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EINTR</span>  <span class='comment'># Try again later.
</span>
<span class='kw'>rescue</span> <span class='const'>EOFError</span>         <span class='comment'># EOF is not an error
</span>  <span class='id identifier rubyid_close_read'>close_read</span>
<span class='kw'>rescue</span> <span class='const'>IOError</span><span class='comma'>,</span> <span class='const'>SystemCallError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
  <span class='id identifier rubyid_close'>close</span> <span class='id identifier rubyid_e'>e</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="read_closed?-instance_method">
  
    #<strong>read_closed?</strong>  &#x21d2; <tt>Boolean</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Is the read side of the driver closed?</p>


  </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">


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

<span class='kw'>def</span> <span class='id identifier rubyid_read_closed?'>read_closed?</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_driver_read_closed'>pn_connection_driver_read_closed</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="tick-instance_method">
  
    #<strong>tick</strong>(now = Time.now)  &#x21d2; <tt>Time</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Handle time-related work, for example idle-timeout events. May generate events for <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span> and change <span class='object_link'><a href="#can_read%3F-instance_method" title="Qpid::Proton::ConnectionDriver#can_read? (method)">#can_read?</a></span>, <span class='object_link'><a href="#can_write%3F-instance_method" title="Qpid::Proton::ConnectionDriver#can_write? (method)">#can_write?</a></span></p>

<p>scheduled events. If non-nil you must call <span class='object_link'><a href="#tick-instance_method" title="Qpid::Proton::ConnectionDriver#tick (method)">#tick</a></span> again no later than this time.</p>


  </div>
</div>
<div class="tags">
  <p class="tag_title">Parameters:</p>
<ul class="param">
  
    <li>
      
        <span class='name'>now</span>
      
      
        <span class='type'>(<tt>Time</tt>)</span>
      
      
        <em class="default">(defaults to: <tt>Time.now</tt>)</em>
      
      
        &mdash;
        <div class='inline'>
<p>the current time, defaults to Time#now.</p>
</div>
      
    </li>
  
</ul>

<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>Time</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>time of the next scheduled event, or nil if there are no</p>
</div>
      
    </li>
  
</ul>

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


118
119
120
121
122
123
124
125
126
127</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 118</span>

<span class='kw'>def</span> <span class='id identifier rubyid_tick'>tick</span><span class='lparen'>(</span><span class='id identifier rubyid_now'>now</span><span class='op'>=</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_transport'>transport</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pni_connection_driver_transport'>pni_connection_driver_transport</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
  <span class='id identifier rubyid_ms'>ms</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_tick'>pn_transport_tick</span><span class='lparen'>(</span><span class='id identifier rubyid_transport'>transport</span><span class='comma'>,</span> <span class='lparen'>(</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_r'>to_r</span> <span class='op'>*</span> <span class='int'>1000</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='rparen'>)</span>
  <span class='ivar'>@next_tick</span> <span class='op'>=</span> <span class='id identifier rubyid_ms'>ms</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='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_ms'>ms</span><span class='period'>.</span><span class='id identifier rubyid_to_r'>to_r</span> <span class='op'>/</span> <span class='int'>1000</span><span class='rparen'>)</span><span class='semicolon'>;</span>
  <span class='kw'>unless</span> <span class='ivar'>@next_tick</span>
    <span class='id identifier rubyid_idle'>idle</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_get_idle_timeout'>pn_transport_get_idle_timeout</span><span class='lparen'>(</span><span class='id identifier rubyid_transport'>transport</span><span class='rparen'>)</span><span class='semicolon'>;</span>
    <span class='ivar'>@next_tick</span> <span class='op'>=</span> <span class='id identifier rubyid_now'>now</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='id identifier rubyid_idle'>idle</span><span class='period'>.</span><span class='id identifier rubyid_to_r'>to_r</span> <span class='op'>/</span> <span class='int'>1000</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_idle'>idle</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span>
  <span class='kw'>end</span>
  <span class='ivar'>@next_tick</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="to_io-instance_method">
  
    #<strong>to_io</strong>  &#x21d2; <tt>IO</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Returns Allows ConnectionDriver to be passed directly to IO#select.</p>


  </div>
</div>
<div class="tags">
  
<p class="tag_title">Returns:</p>
<ul class="return">
  
    <li>
      
      
        <span class='type'>(<tt>IO</tt>)</span>
      
      
      
        &mdash;
        <div class='inline'>
<p>Allows ConnectionDriver to be passed directly to IO#select</p>
</div>
      
    </li>
  
</ul>

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


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

<span class='kw'>def</span> <span class='id identifier rubyid_to_io'>to_io</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='ivar'>@io</span><span class='semicolon'>;</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> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    

  </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>)</span>
      
      
      
    </li>
  
</ul>

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


49
50
51</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 49</span>

<span class='kw'>def</span> <span class='id identifier rubyid_transport'>transport</span><span class='lparen'>(</span><span class='rparen'>)</span>
  <span class='ivar'>@transport</span> <span class='op'>||=</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_pni_connection_driver_transport'>pni_connection_driver_transport</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="write-instance_method">
  
    #<strong>write</strong>  
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Non-blocking write to #io IO errors are returned as transport errors by <span class='object_link'><a href="#event-instance_method" title="Qpid::Proton::ConnectionDriver#event (method)">#event</a></span>, not raised</p>


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

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


99
100
101
102
103
104
105
106
107
108</pre>
    </td>
    <td>
      <pre class="code"><span class="info file"># File 'lib/core/connection_driver.rb', line 99</span>

<span class='kw'>def</span> <span class='id identifier rubyid_write'>write</span>
  <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_driver_write_buffer'>pn_connection_driver_write_buffer</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span>
  <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>&gt;</span> <span class='int'>0</span>
  <span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='ivar'>@io</span><span class='period'>.</span><span class='id identifier rubyid_write_nonblock'>write_nonblock</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
  <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_connection_driver_write_done'>pn_connection_driver_write_done</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_n'>n</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_n'>n</span> <span class='op'>&gt;</span> <span class='int'>0</span>
<span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EWOULDBLOCK</span><span class='comma'>,</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EAGAIN</span><span class='comma'>,</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EINTR</span>  <span class='comment'># Try again later.
</span>
<span class='kw'>rescue</span> <span class='const'>IOError</span><span class='comma'>,</span> <span class='const'>SystemCallError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
  <span class='id identifier rubyid_close'>close</span> <span class='id identifier rubyid_e'>e</span>
<span class='kw'>end</span></pre>
    </td>
  </tr>
</table>
</div>
    
      <div class="method_details ">
  <h3 class="signature " id="write_closed?-instance_method">
  
    #<strong>write_closed?</strong>  &#x21d2; <tt>Boolean</tt> 
  

  

  
</h3><div class="docstring">
  <div class="discussion">
    
<p>Is the write side of the driver closed?</p>


  </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">


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

<span class='kw'>def</span> <span class='id identifier rubyid_write_closed?'>write_closed?</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_driver_read_closed'>pn_connection_driver_read_closed</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>

</div>

      <div id="footer">
  Generated on Fri Jul  2 10:32:13 2021 by
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
  0.9.24 (ruby-2.7.3).
</div>

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