blob: 6d607428fb1b82e6ff92002837b9b39f29841665 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Class: Qpid::Proton::Transport
&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::Transport";
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 (T)</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">Transport</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::Transport
<span class="deprecated note title">Deprecated</span>
</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::Transport</li>
</ul>
<a href="#" class="inheritanceTree">show all</a>
</dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>lib/core/transport.rb</dd>
</dl>
</div>
<h2>Overview</h2><div class="docstring">
<div class="discussion">
<div class="note deprecated"><strong>Deprecated.</strong> <div class='inline'>
<p>all important features are available from #Connection</p>
</div></div>
</div>
</div>
<div class="tags">
</div>
<h2>
Constant Summary
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
</h2>
<dl class="constants">
<dt id="TRACE_OFF-constant" class="">TRACE_OFF =
<div class="docstring">
<div class="discussion">
<p>Turn logging off entirely.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='const'>Cproton</span><span class='op'>::</span><span class='const'>PN_TRACE_OFF</span></pre></dd>
<dt id="TRACE_RAW-constant" class="">TRACE_RAW =
<div class="docstring">
<div class="discussion">
<p>Log raw binary data into/out of the transport.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='const'>Cproton</span><span class='op'>::</span><span class='const'>PN_TRACE_RAW</span></pre></dd>
<dt id="TRACE_FRM-constant" class="">TRACE_FRM =
<div class="docstring">
<div class="discussion">
<p>Log frames into/out of the transport.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='const'>Cproton</span><span class='op'>::</span><span class='const'>PN_TRACE_FRM</span></pre></dd>
<dt id="TRACE_DRV-constant" class="">TRACE_DRV =
<div class="docstring">
<div class="discussion">
<p>Log driver related events; i.e., initialization, end of stream, etc.</p>
</div>
</div>
<div class="tags">
</div>
</dt>
<dd><pre class="code"><span class='const'>Cproton</span><span class='op'>::</span><span class='const'>PN_TRACE_DRV</span></pre></dd>
</dl>
<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="#bind-instance_method" title="#bind (instance method)">#<strong>bind</strong>(connection) </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Binds to the given connection.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#close_head-instance_method" title="#close_head (instance method)">#<strong>close_head</strong> </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Indicate that the output has closed.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#close_tail-instance_method" title="#close_tail (instance method)">#<strong>close_tail</strong> </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Indicate that the input has reached EOS (end of stream).</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#condition-instance_method" title="#condition (instance method)">#<strong>condition</strong> &#x21d2; Condition<sup>?</sup> </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Transport error condition or nil if there is no error.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#condition=-instance_method" title="#condition= (instance method)">#<strong>condition=</strong>(c) </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Set the error condition for the transport.</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<sup>?</sup> </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Return the AMQP connection associated with the transport.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(impl = Cproton.pn_transport) &#x21d2; Transport </a>
</span>
<span class="note title constructor">constructor</span>
<span class="summary_desc"><div class='inline'>
<p>Creates a new transport instance.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#log-instance_method" title="#log (instance method)">#<strong>log</strong>(message) </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Log a message to the transport&#39;s logging mechanism.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#peek-instance_method" title="#peek (instance method)">#<strong>peek</strong>(size) &#x21d2; String </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns the specified number of bytes from the transport&#39;s buffers.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#pop-instance_method" title="#pop (instance method)">#<strong>pop</strong>(size) </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Removes the specified number of bytes from the pending output queue following the transport&#39;s head pointer.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#process-instance_method" title="#process (instance method)">#<strong>process</strong>(size) </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Process input data following the tail pointer.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#push-instance_method" title="#push (instance method)">#<strong>push</strong>(data) &#x21d2; Integer </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Pushes the supplied bytes into the tail of the transport.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#quiesced%3F-instance_method" title="#quiesced? (instance method)">#<strong>quiesced?</strong> &#x21d2; Boolean </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Returns whether the transport has any buffered data.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#sasl-instance_method" title="#sasl (instance method)">#<strong>sasl</strong> &#x21d2; SASL </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Create, or return existing, SSL object for the transport.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#set_server-instance_method" title="#set_server (instance method)">#<strong>set_server</strong> </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Set server mode for this tranport - enables protocol detection and server-side authentication for incoming connections.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#ssl-instance_method" title="#ssl (instance method)">#<strong>ssl</strong>(domain = nil, session_details = nil) &#x21d2; SSL </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Creates, or returns an existing, SSL object for the transport.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#tick-instance_method" title="#tick (instance method)">#<strong>tick</strong>(now) &#x21d2; Integer </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Process any pending transport timer events.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#trace-instance_method" title="#trace (instance method)">#<strong>trace</strong>(level) </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Updates the transports trace flags.</p>
</div></span>
</li>
<li class="public ">
<span class="summary_signature">
<a href="#unbind-instance_method" title="#unbind (instance method)">#<strong>unbind</strong> </a>
</span>
<span class="summary_desc"><div class='inline'>
<p>Unbinds from the previous connection.</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>(impl = Cproton.pn_transport) &#x21d2; <tt><span class='object_link'><a href="" title="Qpid::Proton::Transport (class)">Transport</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Creates a new transport instance.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
171
172
173
174
175</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 171</span>
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_impl'>impl</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport'>pn_transport</span><span class='rparen'>)</span>
<span class='ivar'>@impl</span> <span class='op'>=</span> <span class='id identifier rubyid_impl'>impl</span>
<span class='ivar'>@ssl</span> <span class='op'>=</span> <span class='kw'>nil</span>
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_store_instance'>store_instance</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:pn_transport_attachments</span><span class='rparen'>)</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="bind-instance_method">
#<strong>bind</strong>(connection)
</h3><div class="docstring">
<div class="discussion">
<p>Binds to the given connection.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>connection</span>
<span class='type'>(<tt><span class='object_link'><a href="Connection.html" title="Qpid::Proton::Connection (class)">Connection</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>The connection.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
204
205
206</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 204</span>
<span class='kw'>def</span> <span class='id identifier rubyid_bind'>bind</span><span class='lparen'>(</span><span class='id identifier rubyid_connection'>connection</span><span class='rparen'>)</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_bind'>pn_transport_bind</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_connection'>connection</span><span class='period'>.</span><span class='id identifier rubyid_impl'>impl</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="close_head-instance_method">
#<strong>close_head</strong>
</h3><div class="docstring">
<div class="discussion">
<p>Indicate that the output has closed.</p>
<p>Tells the transport that no more output will be popped.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="TransportError.html" title="Qpid::Proton::TransportError (class)">TransportError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>If an error occurs.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
311
312
313</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 311</span>
<span class='kw'>def</span> <span class='id identifier rubyid_close_head'>close_head</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_close_head'>pn_transport_close_head</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="close_tail-instance_method">
#<strong>close_tail</strong>
</h3><div class="docstring">
<div class="discussion">
<p>Indicate that the input has reached EOS (end of stream).</p>
<p>This tells the transport that no more input will be forthcoming.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="TransportError.html" title="Qpid::Proton::TransportError (class)">TransportError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>If an error occurs.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
277
278
279</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 277</span>
<span class='kw'>def</span> <span class='id identifier rubyid_close_tail'>close_tail</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_close_tail'>pn_transport_close_tail</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="condition-instance_method">
#<strong>condition</strong> &#x21d2; <tt><span class='object_link'><a href="Condition.html" title="Qpid::Proton::Condition (class)">Condition</a></span></tt><sup>?</sup>
</h3><div class="docstring">
<div class="discussion">
<p>Returns transport error condition or nil if there is no error.</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="Condition.html" title="Qpid::Proton::Condition (class)">Condition</a></span></tt>, <tt>nil</tt>)</span>
&mdash;
<div class='inline'>
<p>transport error condition or nil if there is no error.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
190
191
192</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 190</span>
<span class='kw'>def</span> <span class='id identifier rubyid_condition'>condition</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_convert'><span class='object_link'><a href="Condition.html#convert-class_method" title="Qpid::Proton::Condition.convert (method)">convert</a></span></span><span class='lparen'>(</span><span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_condition'>pn_transport_condition</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="condition=-instance_method">
#<strong>condition=</strong>(c)
</h3><div class="docstring">
<div class="discussion">
<p>Set the error condition for the transport.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>c</span>
<span class='type'>(<tt><span class='object_link'><a href="Condition.html" title="Qpid::Proton::Condition (class)">Condition</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>The condition to set</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
196
197
198</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 196</span>
<span class='kw'>def</span> <span class='id identifier rubyid_condition='>condition=</span><span class='lparen'>(</span><span class='id identifier rubyid_c'>c</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='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_condition'>pn_transport_condition</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_c'>c</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="Connection.html" title="Qpid::Proton::Connection (class)">Connection</a></span></tt><sup>?</sup>
</h3><div class="docstring">
<div class="discussion">
<p>Return the AMQP connection associated with the transport.</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="Connection.html" title="Qpid::Proton::Connection (class)">Connection</a></span></tt>, <tt>nil</tt>)</span>
&mdash;
<div class='inline'>
<p>The bound connection, or nil.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
231
232
233</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 231</span>
<span class='kw'>def</span> <span class='id identifier rubyid_connection'>connection</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_pn_transport_connection'>pn_transport_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="log-instance_method">
#<strong>log</strong>(message)
</h3><div class="docstring">
<div class="discussion">
<p>Log a message to the transport&#39;s logging mechanism.</p>
<p>This can be using in a debugging scenario as the message will be prepended with the transport&#39;s identifier.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>message</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The message to be logged.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
242
243
244</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 242</span>
<span class='kw'>def</span> <span class='id identifier rubyid_log'>log</span><span class='lparen'>(</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_log'>pn_transport_log</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="peek-instance_method">
#<strong>peek</strong>(size) &#x21d2; <tt>String</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns the specified number of bytes from the transport&#39;s buffers.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>size</span>
<span class='type'>(<tt>Integer</tt>)</span>
&mdash;
<div class='inline'>
<p>The number of bytes to return.</p>
</div>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The data peeked.</p>
</div>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="TransportError.html" title="Qpid::Proton::TransportError (class)">TransportError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>If an error occurs.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
289
290
291
292
293
294</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 289</span>
<span class='kw'>def</span> <span class='id identifier rubyid_peek'>peek</span><span class='lparen'>(</span><span class='id identifier rubyid_size'>size</span><span class='rparen'>)</span>
<span class='id identifier rubyid_cd'>cd</span><span class='comma'>,</span> <span class='id identifier rubyid_out'>out</span> <span class='op'>=</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_peek'>pn_transport_peek</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_size'>size</span><span class='rparen'>)</span>
<span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_cd'>cd</span> <span class='op'>==</span> <span class='const'><span class='object_link'><a href="../../Qpid.html" title="Qpid (module)">Qpid</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Proton.html" title="Qpid::Proton (module)">Proton</a></span></span><span class='op'>::</span><span class='const'>Error</span><span class='op'>::</span><span class='const'>EOS</span>
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="TransportError.html" title="Qpid::Proton::TransportError (class)">TransportError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>if</span> <span class='id identifier rubyid_cd'>cd</span> <span class='op'>&lt;</span> <span class='op'>-</span><span class='int'>1</span>
<span class='id identifier rubyid_out'>out</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="pop-instance_method">
#<strong>pop</strong>(size)
</h3><div class="docstring">
<div class="discussion">
<p>Removes the specified number of bytes from the pending output queue following the transport&#39;s head pointer.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>size</span>
<span class='type'>(<tt>Integer</tt>)</span>
&mdash;
<div class='inline'>
<p>The number of bytes to remove.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
301
302
303</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 301</span>
<span class='kw'>def</span> <span class='id identifier rubyid_pop'>pop</span><span class='lparen'>(</span><span class='id identifier rubyid_size'>size</span><span class='rparen'>)</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_pop'>pn_transport_pop</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_size'>size</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="process-instance_method">
#<strong>process</strong>(size)
</h3><div class="docstring">
<div class="discussion">
<p>Process input data following the tail pointer.</p>
<p>Calling this function will cause the transport to consume the specified number of bytes of input occupying the free space following the tail pointer. It may also change the value for #tail, as well as the amount of free space reported by #capacity.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>size</span>
<span class='type'>(<tt>Integer</tt>)</span>
&mdash;
<div class='inline'>
<p>The number of bytes to process.</p>
</div>
</li>
</ul>
<p class="tag_title">Raises:</p>
<ul class="raise">
<li>
<span class='type'>(<tt><span class='object_link'><a href="TransportError.html" title="Qpid::Proton::TransportError (class)">TransportError</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>If an error occurs.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
267
268
269</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 267</span>
<span class='kw'>def</span> <span class='id identifier rubyid_process'>process</span><span class='lparen'>(</span><span class='id identifier rubyid_size'>size</span><span class='rparen'>)</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_process'>pn_transport_process</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_size'>size</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="push-instance_method">
#<strong>push</strong>(data) &#x21d2; <tt>Integer</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Pushes the supplied bytes into the tail of the transport.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>data</span>
<span class='type'>(<tt>String</tt>)</span>
&mdash;
<div class='inline'>
<p>The bytes to be pushed.</p>
</div>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Integer</tt>)</span>
&mdash;
<div class='inline'>
<p>The number of bytes pushed.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
252
253
254</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 252</span>
<span class='kw'>def</span> <span class='id identifier rubyid_push'>push</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_transport_push'>pn_transport_push</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="quiesced?-instance_method">
#<strong>quiesced?</strong> &#x21d2; <tt>Boolean</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Returns whether the transport has any buffered data.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Boolean</tt>)</span>
&mdash;
<div class='inline'>
<p>True if the transport has no buffered data.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
185
186
187</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 185</span>
<span class='kw'>def</span> <span class='id identifier rubyid_quiesced?'>quiesced?</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_quiesced'>pn_transport_quiesced</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="sasl-instance_method">
#<strong>sasl</strong> &#x21d2; <tt><span class='object_link'><a href="SASL.html" title="Qpid::Proton::SASL (class)">SASL</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Create, or return existing, SSL object for the transport.</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="SASL.html" title="Qpid::Proton::SASL (class)">SASL</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>the SASL object</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
336
337
338</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 336</span>
<span class='kw'>def</span> <span class='id identifier rubyid_sasl'>sasl</span>
<span class='const'><span class='object_link'><a href="SASL.html" title="Qpid::Proton::SASL (class)">SASL</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="set_server-instance_method">
#<strong>set_server</strong>
</h3><div class="docstring">
<div class="discussion">
<p>Set server mode for this tranport - enables protocol detection and server-side authentication for incoming connections</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
179</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 179</span>
<span class='kw'>def</span> <span class='id identifier rubyid_set_server'>set_server</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_set_server'>pn_transport_set_server</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="ssl-instance_method">
#<strong>ssl</strong>(domain = nil, session_details = nil) &#x21d2; <tt><span class='object_link'><a href="SSL.html" title="Qpid::Proton::SSL (class)">SSL</a></span></tt>
</h3><div class="docstring">
<div class="discussion">
<p>Creates, or returns an existing, SSL object for the transport.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>domain</span>
<span class='type'>(<tt><span class='object_link'><a href="SSLDomain.html" title="Qpid::Proton::SSLDomain (class)">SSLDomain</a></span></tt>)</span>
<em class="default">(defaults to: <tt>nil</tt>)</em>
&mdash;
<div class='inline'>
<p>The SSL domain.</p>
</div>
</li>
<li>
<span class='name'>session_details</span>
<span class='type'>(<tt>SSLDetails</tt>)</span>
<em class="default">(defaults to: <tt>nil</tt>)</em>
&mdash;
<div class='inline'>
<p>The SSL session details.</p>
</div>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt><span class='object_link'><a href="SSL.html" title="Qpid::Proton::SSL (class)">SSL</a></span></tt>)</span>
&mdash;
<div class='inline'>
<p>The SSL object.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
347
348
349</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 347</span>
<span class='kw'>def</span> <span class='id identifier rubyid_ssl'>ssl</span><span class='lparen'>(</span><span class='id identifier rubyid_domain'>domain</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_session_details'>session_details</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
<span class='ivar'>@ssl</span> <span class='op'>||=</span> <span class='const'><span class='object_link'><a href="SSL.html" title="Qpid::Proton::SSL (class)">SSL</a></span></span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_domain'>domain</span><span class='comma'>,</span> <span class='id identifier rubyid_session_details'>session_details</span><span class='rparen'>)</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) &#x21d2; <tt>Integer</tt>
</h3><div class="docstring">
<div class="discussion">
<p>Process any pending transport timer events.</p>
<p>This method should be called after all pending input has been processed by the transport (see #input), and before generating output (see #output).</p>
<p>It returns the deadline for the next pending timer event, if any art present.</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>
&mdash;
<div class='inline'>
<p>The timestamp.</p>
</div>
</li>
</ul>
<p class="tag_title">Returns:</p>
<ul class="return">
<li>
<span class='type'>(<tt>Integer</tt>)</span>
&mdash;
<div class='inline'>
<p>If non-zero, the expiration time of the next pending timer event for the transport. The caller must invoke #tick again at least once at or before this deadline occurs.</p>
</div>
</li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
330
331
332</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 330</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='rparen'>)</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='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_now'>now</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="trace-instance_method">
#<strong>trace</strong>(level)
</h3><div class="docstring">
<div class="discussion">
<p>Updates the transports trace flags.</p>
</div>
</div>
<div class="tags">
<p class="tag_title">Parameters:</p>
<ul class="param">
<li>
<span class='name'>level</span>
<span class='type'>(<tt>Integer</tt>)</span>
&mdash;
<div class='inline'>
<p>The trace level.</p>
</div>
</li>
</ul>
<p class="tag_title">See Also:</p>
<ul class="see">
<li><span class='object_link'><a href="#TRACE_OFF-constant" title="Qpid::Proton::Transport::TRACE_OFF (constant)">TRACE_OFF</a></span></li>
<li><span class='object_link'><a href="#TRACE_RAW-constant" title="Qpid::Proton::Transport::TRACE_RAW (constant)">TRACE_RAW</a></span></li>
<li><span class='object_link'><a href="#TRACE_FRM-constant" title="Qpid::Proton::Transport::TRACE_FRM (constant)">TRACE_FRM</a></span></li>
<li><span class='object_link'><a href="#TRACE_DRV-constant" title="Qpid::Proton::Transport::TRACE_DRV (constant)">TRACE_DRV</a></span></li>
</ul>
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
223
224
225</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 223</span>
<span class='kw'>def</span> <span class='id identifier rubyid_trace'>trace</span><span class='lparen'>(</span><span class='id identifier rubyid_level'>level</span><span class='rparen'>)</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_trace'>pn_transport_trace</span><span class='lparen'>(</span><span class='ivar'>@impl</span><span class='comma'>,</span> <span class='id identifier rubyid_level'>level</span><span class='rparen'>)</span>
<span class='kw'>end</span></pre>
</td>
</tr>
</table>
</div>
<div class="method_details ">
<h3 class="signature " id="unbind-instance_method">
#<strong>unbind</strong>
</h3><div class="docstring">
<div class="discussion">
<p>Unbinds from the previous connection.</p>
</div>
</div>
<div class="tags">
</div><table class="source_code">
<tr>
<td>
<pre class="lines">
210
211
212</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'lib/core/transport.rb', line 210</span>
<span class='kw'>def</span> <span class='id identifier rubyid_unbind'>unbind</span>
<span class='const'>Cproton</span><span class='period'>.</span><span class='id identifier rubyid_pn_transport_unbind'>pn_transport_unbind</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>
</div>
<div id="footer">
Generated on Wed Nov 11 12:57:53 2020 by
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
0.9.24 (ruby-2.7.2).
</div>
</div>
</body>
</html>