blob: c0562c5a46f7a1ce1138487b05730e6a93dc6485 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Transport (Qpid Proton-J API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Transport (Qpid Proton-J API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":38,"i18":6,"i19":6,"i20":38,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/qpid/proton/engine/SslPeerDetails.Factory.html" title="class in org.apache.qpid.proton.engine"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/qpid/proton/engine/Transport.Factory.html" title="class in org.apache.qpid.proton.engine"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/qpid/proton/engine/Transport.html" target="_top">Frames</a></li>
<li><a href="Transport.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.qpid.proton.engine</div>
<h2 title="Interface Transport" class="title">Interface Transport</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html" title="interface in org.apache.qpid.proton.engine">Endpoint</a>, <a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine">Extendable</a></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/ProtonJTransport.html" title="interface in org.apache.qpid.proton.engine">ProtonJTransport</a>, <a href="../../../../../org/apache/qpid/proton/engine/impl/TransportInternal.html" title="interface in org.apache.qpid.proton.engine.impl">TransportInternal</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/impl/TransportImpl.html" title="class in org.apache.qpid.proton.engine.impl">TransportImpl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Transport</span>
extends <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html" title="interface in org.apache.qpid.proton.engine">Endpoint</a></pre>
<div class="block"><p>
Operates on the entities in the associated <a href="../../../../../org/apache/qpid/proton/engine/Connection.html" title="interface in org.apache.qpid.proton.engine"><code>Connection</code></a>
by accepting and producing binary AMQP output, potentially
layered within SASL and/or SSL.
</p>
<p>
After a connection is bound with <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#bind-org.apache.qpid.proton.engine.Connection-"><code>bind(Connection)</code></a>, the methods for accepting and producing
output are typically repeatedly called. See the specific methods for details of their legal usage.
</p>
<p>
<strong>Processing the input data received from another AMQP container.</strong>
</p>
<ol>
<li><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getInputBuffer--"><code>getInputBuffer()</code></a> </li>
<li>Write data into input buffer</li>
<li><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#processInput--"><code>processInput()</code></a></li>
<li>Check the result, e.g. by calling <a href="../../../../../org/apache/qpid/proton/engine/TransportResult.html#checkIsOk--"><code>TransportResult.checkIsOk()</code></a></li>
</ol>
<p>
<strong>Getting the output data to send to another AMQP container:</strong>
</p>
<ol>
<li><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getOutputBuffer--"><code>getOutputBuffer()</code></a> </li>
<li>Read output from output buffer</li>
<li><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#outputConsumed--"><code>outputConsumed()</code></a></li>
</ol>
<p>The following methods on the byte buffers returned by <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getInputBuffer--"><code>getInputBuffer()</code></a> and <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getOutputBuffer--"><code>getOutputBuffer()</code></a>
must not be called:
</p>
<ol>
<li> <code>Buffer.clear()</code> </li>
<li> <code>ByteBuffer.compact()</code> </li>
<li> <code>Buffer.flip()</code> </li>
<li> <code>Buffer.mark()</code> </li>
</ol></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.Factory.html" title="class in org.apache.qpid.proton.engine">Transport.Factory</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#DEFAULT_MAX_FRAME_SIZE">DEFAULT_MAX_FRAME_SIZE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#END_OF_STREAM">END_OF_STREAM</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#MIN_MAX_FRAME_SIZE">MIN_MAX_FRAME_SIZE</a></span></code>
<div class="block">the lower bound for the agreed maximum frame size (in bytes).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#SESSION_WINDOW">SESSION_WINDOW</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#TRACE_DRV">TRACE_DRV</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#TRACE_FRM">TRACE_FRM</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#TRACE_OFF">TRACE_OFF</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#TRACE_RAW">TRACE_RAW</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#bind-org.apache.qpid.proton.engine.Connection-">bind</a></span>(<a href="../../../../../org/apache/qpid/proton/engine/Connection.html" title="interface in org.apache.qpid.proton.engine">Connection</a>&nbsp;connection)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#capacity--">capacity</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#close_head--">close_head</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#close_tail--">close_tail</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getChannelMax--">getChannelMax</a></span>()</code>
<div class="block">Gets the local channel-max value to be advertised to the remote peer</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/amqp/transport/ErrorCondition.html" title="class in org.apache.qpid.proton.amqp.transport">ErrorCondition</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getCondition--">getCondition</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getFramesInput--">getFramesInput</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getFramesOutput--">getFramesOutput</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getIdleTimeout--">getIdleTimeout</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getInputBuffer--">getInputBuffer</a></span>()</code>
<div class="block">Get a buffer that can be used to write input data into the transport.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getMaxFrameSize--">getMaxFrameSize</a></span>()</code>
<div class="block">Get the maximum frame size for the transport</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getOutboundFrameSizeLimit--">getOutboundFrameSizeLimit</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getOutputBuffer--">getOutputBuffer</a></span>()</code>
<div class="block">Get a read-only byte buffer containing the transport's pending output.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getRemoteChannelMax--">getRemoteChannelMax</a></span>()</code>
<div class="block">Gets the remote value of channel-max, as advertised by the peer on its
<a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open">
Open frame</a>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getRemoteIdleTimeout--">getRemoteIdleTimeout</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getRemoteMaxFrameSize--">getRemoteMaxFrameSize</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#head--">head</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#input-byte:A-int-int-">input</a></span>(byte[]&nbsp;bytes,
int&nbsp;offset,
int&nbsp;size)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getInputBuffer--"><code>getInputBuffer()</code></a> and <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#processInput--"><code>processInput()</code></a> instead.</span></div>
</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#isClosed--">isClosed</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#isEmitFlowEventOnSend--">isEmitFlowEventOnSend</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#output-byte:A-int-int-">output</a></span>(byte[]&nbsp;dest,
int&nbsp;offset,
int&nbsp;size)</code>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getOutputBuffer--"><code>getOutputBuffer()</code></a> and <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#outputConsumed--"><code>outputConsumed()</code></a> instead</span></div>
</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#outputConsumed--">outputConsumed</a></span>()</code>
<div class="block">Informs the transport that the output buffer returned by <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getOutputBuffer--"><code>getOutputBuffer()</code></a>
is finished with, allowing implementation-dependent steps to be performed such as
reclaiming buffer space.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#pending--">pending</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#pop-int-">pop</a></span>(int&nbsp;bytes)</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#process--">process</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/TransportResult.html" title="interface in org.apache.qpid.proton.engine">TransportResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#processInput--">processInput</a></span>()</code>
<div class="block">Tell the transport to process the data written to the input buffer.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/Sasl.html" title="interface in org.apache.qpid.proton.engine">Sasl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#sasl--">sasl</a></span>()</code>
<div class="block">Signal the transport to expect SASL frames used to establish a SASL layer prior to
performing the AMQP protocol version negotiation.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#setChannelMax-int-">setChannelMax</a></span>(int&nbsp;channelMax)</code>
<div class="block">Set the local value of channel-max, to be advertised to the peer on the
<a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open">
Open frame</a> emitted by the transport.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#setEmitFlowEventOnSend-boolean-">setEmitFlowEventOnSend</a></span>(boolean&nbsp;emitFlowEventOnSend)</code>
<div class="block">Configure whether a synthetic Flow event should be emitted when messages are sent,
reflecting a change in the credit level on the link that may prompt other action.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#setIdleTimeout-int-">setIdleTimeout</a></span>(int&nbsp;timeout)</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#setInitialRemoteMaxFrameSize-int-">setInitialRemoteMaxFrameSize</a></span>(int&nbsp;size)</code>
<div class="block">Allows overriding the initial remote-max-frame-size to a value greater than the default 512bytes.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#setMaxFrameSize-int-">setMaxFrameSize</a></span>(int&nbsp;size)</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#setOutboundFrameSizeLimit-int-">setOutboundFrameSizeLimit</a></span>(int&nbsp;size)</code>
<div class="block">Set an upper limit on the size of outgoing frames that will be sent
to the peer.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/Ssl.html" title="interface in org.apache.qpid.proton.engine">Ssl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#ssl-org.apache.qpid.proton.engine.SslDomain-">ssl</a></span>(<a href="../../../../../org/apache/qpid/proton/engine/SslDomain.html" title="interface in org.apache.qpid.proton.engine">SslDomain</a>&nbsp;sslDomain)</code>
<div class="block">Equivalent to <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#ssl-org.apache.qpid.proton.engine.SslDomain-org.apache.qpid.proton.engine.SslPeerDetails-"><code>ssl(SslDomain, SslPeerDetails)</code></a> but passing null for SslPeerDetails, meaning no SNI detail
is sent, hostname verification isn't supported etc when connecting.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/qpid/proton/engine/Ssl.html" title="interface in org.apache.qpid.proton.engine">Ssl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#ssl-org.apache.qpid.proton.engine.SslDomain-org.apache.qpid.proton.engine.SslPeerDetails-">ssl</a></span>(<a href="../../../../../org/apache/qpid/proton/engine/SslDomain.html" title="interface in org.apache.qpid.proton.engine">SslDomain</a>&nbsp;sslDomain,
<a href="../../../../../org/apache/qpid/proton/engine/SslPeerDetails.html" title="interface in org.apache.qpid.proton.engine">SslPeerDetails</a>&nbsp;sslPeerDetails)</code>
<div class="block">Wrap this transport's output and input to apply SSL encryption and decryption respectively.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#tail--">tail</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#tick-long-">tick</a></span>(long&nbsp;nowMillis)</code>
<div class="block">Prompt the transport to perform work such as idle-timeout/heartbeat handling, and return an
absolute deadline in milliseconds that tick must again be called by/at, based on the provided
current time in milliseconds, to ensure the periodic work is carried out as necessary.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#trace-int-">trace</a></span>(int&nbsp;levels)</code>&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#unbind--">unbind</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.qpid.proton.engine.Endpoint">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.proton.engine.<a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html" title="interface in org.apache.qpid.proton.engine">Endpoint</a></h3>
<code><a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#close--">close</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#free--">free</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getContext--">getContext</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getLocalState--">getLocalState</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getRemoteCondition--">getRemoteCondition</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getRemoteState--">getRemoteState</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#open--">open</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#setCondition-org.apache.qpid.proton.amqp.transport.ErrorCondition-">setCondition</a>, <a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#setContext-java.lang.Object-">setContext</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.qpid.proton.engine.Extendable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.proton.engine.<a href="../../../../../org/apache/qpid/proton/engine/Extendable.html" title="interface in org.apache.qpid.proton.engine">Extendable</a></h3>
<code><a href="../../../../../org/apache/qpid/proton/engine/Extendable.html#attachments--">attachments</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="TRACE_OFF">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRACE_OFF</h4>
<pre>static final&nbsp;int TRACE_OFF</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.proton.engine.Transport.TRACE_OFF">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRACE_RAW">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRACE_RAW</h4>
<pre>static final&nbsp;int TRACE_RAW</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.proton.engine.Transport.TRACE_RAW">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRACE_FRM">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRACE_FRM</h4>
<pre>static final&nbsp;int TRACE_FRM</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.proton.engine.Transport.TRACE_FRM">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="TRACE_DRV">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRACE_DRV</h4>
<pre>static final&nbsp;int TRACE_DRV</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.proton.engine.Transport.TRACE_DRV">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_MAX_FRAME_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_MAX_FRAME_SIZE</h4>
<pre>static final&nbsp;int DEFAULT_MAX_FRAME_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.proton.engine.Transport.DEFAULT_MAX_FRAME_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="MIN_MAX_FRAME_SIZE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MIN_MAX_FRAME_SIZE</h4>
<pre>static final&nbsp;int MIN_MAX_FRAME_SIZE</pre>
<div class="block">the lower bound for the agreed maximum frame size (in bytes).</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.proton.engine.Transport.MIN_MAX_FRAME_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SESSION_WINDOW">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SESSION_WINDOW</h4>
<pre>static final&nbsp;int SESSION_WINDOW</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.proton.engine.Transport.SESSION_WINDOW">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="END_OF_STREAM">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>END_OF_STREAM</h4>
<pre>static final&nbsp;int END_OF_STREAM</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.qpid.proton.engine.Transport.END_OF_STREAM">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="trace-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>trace</h4>
<pre>void&nbsp;trace(int&nbsp;levels)</pre>
</li>
</ul>
<a name="bind-org.apache.qpid.proton.engine.Connection-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bind</h4>
<pre>void&nbsp;bind(<a href="../../../../../org/apache/qpid/proton/engine/Connection.html" title="interface in org.apache.qpid.proton.engine">Connection</a>&nbsp;connection)</pre>
</li>
</ul>
<a name="unbind--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unbind</h4>
<pre>void&nbsp;unbind()</pre>
</li>
</ul>
<a name="capacity--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>capacity</h4>
<pre>int&nbsp;capacity()</pre>
</li>
</ul>
<a name="tail--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tail</h4>
<pre>java.nio.ByteBuffer&nbsp;tail()</pre>
</li>
</ul>
<a name="process--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>process</h4>
<pre>void&nbsp;process()
throws <a href="../../../../../org/apache/qpid/proton/engine/TransportException.html" title="class in org.apache.qpid.proton.engine">TransportException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/qpid/proton/engine/TransportException.html" title="class in org.apache.qpid.proton.engine">TransportException</a></code></dd>
</dl>
</li>
</ul>
<a name="close_tail--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close_tail</h4>
<pre>void&nbsp;close_tail()</pre>
</li>
</ul>
<a name="pending--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pending</h4>
<pre>int&nbsp;pending()</pre>
</li>
</ul>
<a name="head--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>head</h4>
<pre>java.nio.ByteBuffer&nbsp;head()</pre>
</li>
</ul>
<a name="pop-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pop</h4>
<pre>void&nbsp;pop(int&nbsp;bytes)</pre>
</li>
</ul>
<a name="close_head--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close_head</h4>
<pre>void&nbsp;close_head()</pre>
</li>
</ul>
<a name="isClosed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
<pre>boolean&nbsp;isClosed()</pre>
</li>
</ul>
<a name="input-byte:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>input</h4>
<pre>@Deprecated
int&nbsp;input(byte[]&nbsp;bytes,
int&nbsp;offset,
int&nbsp;size)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getInputBuffer--"><code>getInputBuffer()</code></a> and <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#processInput--"><code>processInput()</code></a> instead.</span></div>
<div class="block">Processes the provided input.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bytes</code> - input bytes for consumption</dd>
<dd><code>offset</code> - the offset within bytes where input begins</dd>
<dd><code>size</code> - the number of bytes available for input</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes consumed</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/qpid/proton/engine/TransportException.html" title="class in org.apache.qpid.proton.engine">TransportException</a></code> - if the input is invalid, if the transport is already in an error state,
or if the input is empty (unless the remote connection is already closed)</dd>
</dl>
</li>
</ul>
<a name="getInputBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputBuffer</h4>
<pre>java.nio.ByteBuffer&nbsp;getInputBuffer()</pre>
<div class="block">Get a buffer that can be used to write input data into the transport.
Once the client has finished putting into the input buffer, <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#processInput--"><code>processInput()</code></a>
must be called.
Successive calls to this method are not guaranteed to return the same object.
Once <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#processInput--"><code>processInput()</code></a> is called the buffer must not be used.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/qpid/proton/engine/TransportException.html" title="class in org.apache.qpid.proton.engine">TransportException</a></code> - if the transport is already in an invalid state</dd>
</dl>
</li>
</ul>
<a name="processInput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>processInput</h4>
<pre><a href="../../../../../org/apache/qpid/proton/engine/TransportResult.html" title="interface in org.apache.qpid.proton.engine">TransportResult</a>&nbsp;processInput()</pre>
<div class="block">Tell the transport to process the data written to the input buffer.
If the returned result indicates failure, the transport will not accept any more input.
Specifically, any subsequent <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#processInput--"><code>processInput()</code></a> calls on this object will
throw an exception.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the result of processing the data, which indicates success or failure.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getInputBuffer--"><code>getInputBuffer()</code></a></dd>
</dl>
</li>
</ul>
<a name="output-byte:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>output</h4>
<pre>@Deprecated
int&nbsp;output(byte[]&nbsp;dest,
int&nbsp;offset,
int&nbsp;size)</pre>
<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getOutputBuffer--"><code>getOutputBuffer()</code></a> and <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#outputConsumed--"><code>outputConsumed()</code></a> instead</span></div>
<div class="block">Has the transport produce up to size bytes placing the result
into dest beginning at position offset.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dest</code> - array for output bytes</dd>
<dd><code>offset</code> - the offset within bytes where output begins</dd>
<dd><code>size</code> - the maximum number of bytes to be output</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes written</dd>
</dl>
</li>
</ul>
<a name="getOutputBuffer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutputBuffer</h4>
<pre>java.nio.ByteBuffer&nbsp;getOutputBuffer()</pre>
<div class="block">Get a read-only byte buffer containing the transport's pending output.
Once the client has finished getting from the output buffer, <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#outputConsumed--"><code>outputConsumed()</code></a>
must be called.
Successive calls to this method are not guaranteed to return the same object.
Once <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#outputConsumed--"><code>outputConsumed()</code></a> is called the buffer must not be used.
If the transport's state changes AFTER calling this method, this will not be
reflected in the output buffer.</div>
</li>
</ul>
<a name="outputConsumed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>outputConsumed</h4>
<pre>void&nbsp;outputConsumed()</pre>
<div class="block">Informs the transport that the output buffer returned by <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getOutputBuffer--"><code>getOutputBuffer()</code></a>
is finished with, allowing implementation-dependent steps to be performed such as
reclaiming buffer space.</div>
</li>
</ul>
<a name="sasl--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sasl</h4>
<pre><a href="../../../../../org/apache/qpid/proton/engine/Sasl.html" title="interface in org.apache.qpid.proton.engine">Sasl</a>&nbsp;sasl()
throws java.lang.IllegalStateException</pre>
<div class="block">Signal the transport to expect SASL frames used to establish a SASL layer prior to
performing the AMQP protocol version negotiation. This must first be performed before
the transport is used for processing. Subsequent invocations will return the same
<a href="../../../../../org/apache/qpid/proton/engine/Sasl.html" title="interface in org.apache.qpid.proton.engine"><code>Sasl</code></a> object.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - if transport processing has already begun prior to initial invocation</dd>
</dl>
</li>
</ul>
<a name="ssl-org.apache.qpid.proton.engine.SslDomain-org.apache.qpid.proton.engine.SslPeerDetails-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ssl</h4>
<pre><a href="../../../../../org/apache/qpid/proton/engine/Ssl.html" title="interface in org.apache.qpid.proton.engine">Ssl</a>&nbsp;ssl(<a href="../../../../../org/apache/qpid/proton/engine/SslDomain.html" title="interface in org.apache.qpid.proton.engine">SslDomain</a>&nbsp;sslDomain,
<a href="../../../../../org/apache/qpid/proton/engine/SslPeerDetails.html" title="interface in org.apache.qpid.proton.engine">SslPeerDetails</a>&nbsp;sslPeerDetails)
throws java.lang.IllegalArgumentException</pre>
<div class="block">Wrap this transport's output and input to apply SSL encryption and decryption respectively.
This method is expected to be called at most once. A subsequent invocation will return the same
<a href="../../../../../org/apache/qpid/proton/engine/Ssl.html" title="interface in org.apache.qpid.proton.engine"><code>Ssl</code></a> object, regardless of the parameters supplied.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sslDomain</code> - the SSL settings to use</dd>
<dd><code>sslPeerDetails</code> - peer details, used for SNI, hostname verification, etc when connecting. May be null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an <a href="../../../../../org/apache/qpid/proton/engine/Ssl.html" title="interface in org.apache.qpid.proton.engine"><code>Ssl</code></a> object representing the SSL session.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the sslDomain requests hostname verification but sslPeerDetails are null.</dd>
<dd><code>java.lang.IllegalStateException</code> - if the sslDomain has not been initialised.</dd>
</dl>
</li>
</ul>
<a name="ssl-org.apache.qpid.proton.engine.SslDomain-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ssl</h4>
<pre><a href="../../../../../org/apache/qpid/proton/engine/Ssl.html" title="interface in org.apache.qpid.proton.engine">Ssl</a>&nbsp;ssl(<a href="../../../../../org/apache/qpid/proton/engine/SslDomain.html" title="interface in org.apache.qpid.proton.engine">SslDomain</a>&nbsp;sslDomain)
throws java.lang.IllegalArgumentException</pre>
<div class="block">Equivalent to <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#ssl-org.apache.qpid.proton.engine.SslDomain-org.apache.qpid.proton.engine.SslPeerDetails-"><code>ssl(SslDomain, SslPeerDetails)</code></a> but passing null for SslPeerDetails, meaning no SNI detail
is sent, hostname verification isn't supported etc when connecting.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the sslDomain requests hostname verification.</dd>
<dd><code>java.lang.IllegalStateException</code> - if the sslDomain has not been initialised.</dd>
</dl>
</li>
</ul>
<a name="getMaxFrameSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxFrameSize</h4>
<pre>int&nbsp;getMaxFrameSize()</pre>
<div class="block">Get the maximum frame size for the transport</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the maximum frame size</dd>
</dl>
</li>
</ul>
<a name="setMaxFrameSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxFrameSize</h4>
<pre>void&nbsp;setMaxFrameSize(int&nbsp;size)</pre>
</li>
</ul>
<a name="getRemoteMaxFrameSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteMaxFrameSize</h4>
<pre>int&nbsp;getRemoteMaxFrameSize()</pre>
</li>
</ul>
<a name="setInitialRemoteMaxFrameSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInitialRemoteMaxFrameSize</h4>
<pre>void&nbsp;setInitialRemoteMaxFrameSize(int&nbsp;size)</pre>
<div class="block">Allows overriding the initial remote-max-frame-size to a value greater than the default 512bytes. The value set
will be used until such time as the Open frame arrives from the peer and populates the remote max frame size.
This method must be called before before <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#sasl--"><code>sasl()</code></a> in order to influence SASL behaviour.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - the remote frame size to use</dd>
</dl>
</li>
</ul>
<a name="getChannelMax--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChannelMax</h4>
<pre>int&nbsp;getChannelMax()</pre>
<div class="block">Gets the local channel-max value to be advertised to the remote peer</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local channel-max value</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/apache/qpid/proton/engine/Transport.html#setChannelMax-int-"><code>setChannelMax(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="setChannelMax-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setChannelMax</h4>
<pre>void&nbsp;setChannelMax(int&nbsp;channelMax)</pre>
<div class="block">Set the local value of channel-max, to be advertised to the peer on the
<a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open">
Open frame</a> emitted by the transport.
The remote peers advertised channel-max can be observed using <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getRemoteChannelMax--"><code>getRemoteChannelMax()</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>channelMax</code> - the local channel-max to advertise to the peer, in range [0 - 2^16).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the value supplied is outside range [0 - 2^16).</dd>
</dl>
</li>
</ul>
<a name="getRemoteChannelMax--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteChannelMax</h4>
<pre>int&nbsp;getRemoteChannelMax()</pre>
<div class="block">Gets the remote value of channel-max, as advertised by the peer on its
<a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-open">
Open frame</a>.
The local peers advertised channel-max can be observed using <a href="../../../../../org/apache/qpid/proton/engine/Transport.html#getChannelMax--"><code>getChannelMax()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the remote channel-max value</dd>
</dl>
</li>
</ul>
<a name="getCondition--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCondition</h4>
<pre><a href="../../../../../org/apache/qpid/proton/amqp/transport/ErrorCondition.html" title="class in org.apache.qpid.proton.amqp.transport">ErrorCondition</a>&nbsp;getCondition()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html#getCondition--">getCondition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/qpid/proton/engine/Endpoint.html" title="interface in org.apache.qpid.proton.engine">Endpoint</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local endpoint error, or null if there is none</dd>
</dl>
</li>
</ul>
<a name="setIdleTimeout-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdleTimeout</h4>
<pre>void&nbsp;setIdleTimeout(int&nbsp;timeout)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - local idle timeout in milliseconds</dd>
</dl>
</li>
</ul>
<a name="getIdleTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleTimeout</h4>
<pre>int&nbsp;getIdleTimeout()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>local idle timeout in milliseconds</dd>
</dl>
</li>
</ul>
<a name="getRemoteIdleTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteIdleTimeout</h4>
<pre>int&nbsp;getRemoteIdleTimeout()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>remote idle timeout in milliseconds</dd>
</dl>
</li>
</ul>
<a name="tick-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tick</h4>
<pre>long&nbsp;tick(long&nbsp;nowMillis)</pre>
<div class="block">Prompt the transport to perform work such as idle-timeout/heartbeat handling, and return an
absolute deadline in milliseconds that tick must again be called by/at, based on the provided
current time in milliseconds, to ensure the periodic work is carried out as necessary.
A returned deadline of 0 indicates there is no periodic work necessitating tick be called, e.g.
because neither peer has defined an idle-timeout value.
The provided milliseconds time values can be from <code>System.currentTimeMillis()</code> or derived
from <code>System.nanoTime()</code>, noting that for the later in particular that the returned
deadline could be a different sign than the given time, and (if non-zero) the returned
deadline should have the current time originally provided subtracted from it in order to
establish a relative time delay to the next deadline.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>nowMillis</code> - the current time in milliseconds</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the absolute deadline in milliseconds to next call tick by/at, or 0 if there is none.</dd>
</dl>
</li>
</ul>
<a name="getFramesInput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFramesInput</h4>
<pre>long&nbsp;getFramesInput()</pre>
</li>
</ul>
<a name="getFramesOutput--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFramesOutput</h4>
<pre>long&nbsp;getFramesOutput()</pre>
</li>
</ul>
<a name="setEmitFlowEventOnSend-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEmitFlowEventOnSend</h4>
<pre>void&nbsp;setEmitFlowEventOnSend(boolean&nbsp;emitFlowEventOnSend)</pre>
<div class="block">Configure whether a synthetic Flow event should be emitted when messages are sent,
reflecting a change in the credit level on the link that may prompt other action.
Defaults to true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>emitFlowEventOnSend</code> - true if a flow event should be emitted, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isEmitFlowEventOnSend--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmitFlowEventOnSend</h4>
<pre>boolean&nbsp;isEmitFlowEventOnSend()</pre>
</li>
</ul>
<a name="setOutboundFrameSizeLimit-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOutboundFrameSizeLimit</h4>
<pre>void&nbsp;setOutboundFrameSizeLimit(int&nbsp;size)</pre>
<div class="block">Set an upper limit on the size of outgoing frames that will be sent
to the peer. Allows constraining the transport not to emit Transfer
frames over a given size even when the peers max frame size allows it.
Must be set before receiving the peers Open frame to have effect.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - the size limit to apply</dd>
</dl>
</li>
</ul>
<a name="getOutboundFrameSizeLimit--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getOutboundFrameSizeLimit</h4>
<pre>int&nbsp;getOutboundFrameSizeLimit()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/qpid/proton/engine/SslPeerDetails.Factory.html" title="class in org.apache.qpid.proton.engine"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/qpid/proton/engine/Transport.Factory.html" title="class in org.apache.qpid.proton.engine"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/qpid/proton/engine/Transport.html" target="_top">Frames</a></li>
<li><a href="Transport.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>