<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.10) on Tue Mar 30 10:45:41 CDT 2021 -->
<title>SslConnection (Eclipse Jetty API Doc - v10.0.2)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-03-30">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="SslConnection (Eclipse Jetty API Doc - v10.0.2)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SslConnection.html">Use</a></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" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.io.ssl</a></div>
<h2 title="Class SslConnection" class="title">Class SslConnection</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">org.eclipse.jetty.io.AbstractConnection</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.io.ssl.SslConnection</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.io.Closeable</code>, <code>java.lang.AutoCloseable</code>, <code><a href="../Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></code>, <code><a href="../Connection.UpgradeTo.html" title="interface in org.eclipse.jetty.io">Connection.UpgradeTo</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">SslConnection</span>
extends <a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a>
implements <a href="../Connection.UpgradeTo.html" title="interface in org.eclipse.jetty.io">Connection.UpgradeTo</a></pre>
<div class="block">A Connection that acts as an interceptor between an EndPoint providing SSL encrypted data
 and another consumer of an EndPoint (typically an <a href="../Connection.html" title="interface in org.eclipse.jetty.io"><code>Connection</code></a> like HttpConnection) that
 wants unencrypted data.
 <p>
 The connector uses an <a href="../EndPoint.html" title="interface in org.eclipse.jetty.io"><code>EndPoint</code></a> (typically SocketChannelEndPoint) as
 it's source/sink of encrypted data.   It then provides an endpoint via <a href="#getDecryptedEndPoint()"><code>getDecryptedEndPoint()</code></a> to
 expose a source/sink of unencrypted data to another connection (eg HttpConnection).
 <p>
 The design of this class is based on a clear separation between the passive methods, which do not block nor schedule any
 asynchronous callbacks, and active methods that do schedule asynchronous callbacks.
 <p>
 The passive methods are <a href="SslConnection.DecryptedEndPoint.html#fill(java.nio.ByteBuffer)"><code>SslConnection.DecryptedEndPoint.fill(ByteBuffer)</code></a> and <a href="SslConnection.DecryptedEndPoint.html#flush(java.nio.ByteBuffer...)"><code>SslConnection.DecryptedEndPoint.flush(ByteBuffer...)</code></a>. They make best
 effort attempts to progress the connection using only calls to the encrypted <a href="../EndPoint.html#fill(java.nio.ByteBuffer)"><code>EndPoint.fill(ByteBuffer)</code></a> and <a href="../EndPoint.html#flush(java.nio.ByteBuffer...)"><code>EndPoint.flush(ByteBuffer...)</code></a>
 methods.  They will never block nor schedule any readInterest or write callbacks.   If a fill/flush cannot progress either because
 of network congestion or waiting for an SSL handshake message, then the fill/flush will simply return with zero bytes filled/flushed.
 Specifically, if a flush cannot proceed because it needs to receive a handshake message, then the flush will attempt to fill bytes from the
 encrypted endpoint, but if insufficient bytes are read it will NOT call <a href="../EndPoint.html#fillInterested(org.eclipse.jetty.util.Callback)"><code>EndPoint.fillInterested(Callback)</code></a>.
 <p>
 It is only the active methods : <a href="../AbstractEndPoint.html#fillInterested(org.eclipse.jetty.util.Callback)"><code>AbstractEndPoint.fillInterested(Callback)</code></a> and
 <a href="../AbstractEndPoint.html#write(org.eclipse.jetty.util.Callback,java.nio.ByteBuffer...)"><code>AbstractEndPoint.write(Callback, ByteBuffer...)</code></a> that may schedule callbacks by calling the encrypted
 <a href="../EndPoint.html#fillInterested(org.eclipse.jetty.util.Callback)"><code>EndPoint.fillInterested(Callback)</code></a> and <a href="../EndPoint.html#write(org.eclipse.jetty.util.Callback,java.nio.ByteBuffer...)"><code>EndPoint.write(Callback, ByteBuffer...)</code></a>
 methods.  For normal data handling, the decrypted fillInterest method will result in an encrypted fillInterest and a decrypted
 write will result in an encrypted write. However, due to SSL handshaking requirements, it is also possible for a decrypted fill
 to call the encrypted write and for the decrypted flush to call the encrypted fillInterested methods.
 <p>
 MOST IMPORTANTLY, the encrypted callbacks from the active methods (#onFillable() and WriteFlusher#completeWrite()) do no filling or flushing
 themselves.  Instead they simple make the callbacks to the decrypted callbacks, so that the passive encrypted fill/flush will
 be called again and make another best effort attempt to progress the connection.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="SslConnection.DecryptedEndPoint.html" title="class in org.eclipse.jetty.io.ssl">SslConnection.DecryptedEndPoint</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.io.Connection">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.io.<a href="../Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></h3>
<code><a href="../Connection.Listener.html" title="interface in org.eclipse.jetty.io">Connection.Listener</a>, <a href="../Connection.UpgradeFrom.html" title="interface in org.eclipse.jetty.io">Connection.UpgradeFrom</a>, <a href="../Connection.UpgradeTo.html" title="interface in org.eclipse.jetty.io">Connection.UpgradeTo</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.io.ByteBufferPool,java.util.concurrent.Executor,org.eclipse.jetty.io.EndPoint,javax.net.ssl.SSLEngine)">SslConnection</a></span>&#8203;(<a href="../ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a>&nbsp;byteBufferPool,
             java.util.concurrent.Executor&nbsp;executor,
             <a href="../EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;endPoint,
             javax.net.ssl.SSLEngine&nbsp;sslEngine)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.io.ByteBufferPool,java.util.concurrent.Executor,org.eclipse.jetty.io.EndPoint,javax.net.ssl.SSLEngine,boolean,boolean)">SslConnection</a></span>&#8203;(<a href="../ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a>&nbsp;byteBufferPool,
             java.util.concurrent.Executor&nbsp;executor,
             <a href="../EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;endPoint,
             javax.net.ssl.SSLEngine&nbsp;sslEngine,
             boolean&nbsp;useDirectBuffersForEncryption,
             boolean&nbsp;useDirectBuffersForDecryption)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addHandshakeListener(org.eclipse.jetty.io.ssl.SslHandshakeListener)">addHandshakeListener</a></span>&#8203;(<a href="SslHandshakeListener.html" title="interface in org.eclipse.jetty.io.ssl">SslHandshakeListener</a>&nbsp;listener)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Performs a logical close of this connection.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="SslConnection.DecryptedEndPoint.html" title="class in org.eclipse.jetty.io.ssl">SslConnection.DecryptedEndPoint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDecryptedEndPoint()">getDecryptedEndPoint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRenegotiationLimit()">getRenegotiationLimit</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>javax.net.ssl.SSLEngine</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSSLEngine()">getSSLEngine</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRenegotiationAllowed()">isRenegotiationAllowed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRequireCloseMessage()">isRequireCloseMessage</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#networkFill(java.nio.ByteBuffer)">networkFill</a></span>&#8203;(java.nio.ByteBuffer&nbsp;input)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#networkFlush(java.nio.ByteBuffer)">networkFlush</a></span>&#8203;(java.nio.ByteBuffer&nbsp;output)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected <a href="SslConnection.DecryptedEndPoint.html" title="class in org.eclipse.jetty.io.ssl">SslConnection.DecryptedEndPoint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newDecryptedEndPoint()">newDecryptedEndPoint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onClose(java.lang.Throwable)">onClose</a></span>&#8203;(java.lang.Throwable&nbsp;cause)</code></th>
<td class="colLast">
<div class="block">Callback method invoked when this connection is closed.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onFillable()">onFillable</a></span>()</code></th>
<td class="colLast">
<div class="block">Callback method invoked when the endpoint is ready to be read.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onFillInterestedFailed(java.lang.Throwable)">onFillInterestedFailed</a></span>&#8203;(java.lang.Throwable&nbsp;cause)</code></th>
<td class="colLast">
<div class="block">Callback method invoked when the endpoint failed to be ready to be read.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onIdleExpired()">onIdleExpired</a></span>()</code></th>
<td class="colLast">
<div class="block">Callback method invoked upon an idle timeout event.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onOpen()">onOpen</a></span>()</code></th>
<td class="colLast">
<div class="block">Callback method invoked when this connection is opened.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onUpgradeTo(java.nio.ByteBuffer)">onUpgradeTo</a></span>&#8203;(java.nio.ByteBuffer&nbsp;buffer)</code></th>
<td class="colLast">
<div class="block">Invoked during an <a href="../EndPoint.html#upgrade(org.eclipse.jetty.io.Connection)"><code>upgrade</code></a>
 to receive a buffer containing bytes that have not been consumed by
 the upgrade-from connection, and that must be consumed by this
 connection.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#releaseDecryptedInputBuffer()">releaseDecryptedInputBuffer</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeHandshakeListener(org.eclipse.jetty.io.ssl.SslHandshakeListener)">removeHandshakeListener</a></span>&#8203;(<a href="SslHandshakeListener.html" title="interface in org.eclipse.jetty.io.ssl">SslHandshakeListener</a>&nbsp;listener)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRenegotiationAllowed(boolean)">setRenegotiationAllowed</a></span>&#8203;(boolean&nbsp;renegotiationAllowed)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRenegotiationLimit(int)">setRenegotiationLimit</a></span>&#8203;(int&nbsp;renegotiationLimit)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRequireCloseMessage(boolean)">setRequireCloseMessage</a></span>&#8203;(boolean&nbsp;requireCloseMessage)</code></th>
<td class="colLast">
<div class="block">Sets whether it is required that a peer send the TLS <code>close_notify</code> message
 to indicate the will to close the connection, otherwise it may be interpreted as a
 truncation attack.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toConnectionString()">toConnectionString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected javax.net.ssl.SSLEngineResult</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unwrap(javax.net.ssl.SSLEngine,java.nio.ByteBuffer,java.nio.ByteBuffer)">unwrap</a></span>&#8203;(javax.net.ssl.SSLEngine&nbsp;sslEngine,
      java.nio.ByteBuffer&nbsp;input,
      java.nio.ByteBuffer&nbsp;output)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected javax.net.ssl.SSLEngineResult</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wrap(javax.net.ssl.SSLEngine,java.nio.ByteBuffer%5B%5D,java.nio.ByteBuffer)">wrap</a></span>&#8203;(javax.net.ssl.SSLEngine&nbsp;sslEngine,
    java.nio.ByteBuffer[]&nbsp;input,
    java.nio.ByteBuffer&nbsp;output)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.io.AbstractConnection">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.io.<a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a></h3>
<code><a href="../AbstractConnection.html#addEventListener(java.util.EventListener)">addEventListener</a>, <a href="../AbstractConnection.html#failedCallback(org.eclipse.jetty.util.Callback,java.lang.Throwable)">failedCallback</a>, <a href="../AbstractConnection.html#fillInterested()">fillInterested</a>, <a href="../AbstractConnection.html#getBytesIn()">getBytesIn</a>, <a href="../AbstractConnection.html#getBytesOut()">getBytesOut</a>, <a href="../AbstractConnection.html#getCreatedTimeStamp()">getCreatedTimeStamp</a>, <a href="../AbstractConnection.html#getEndPoint()">getEndPoint</a>, <a href="../AbstractConnection.html#getExecutor()">getExecutor</a>, <a href="../AbstractConnection.html#getInputBufferSize()">getInputBufferSize</a>, <a href="../AbstractConnection.html#getMessagesIn()">getMessagesIn</a>, <a href="../AbstractConnection.html#getMessagesOut()">getMessagesOut</a>, <a href="../AbstractConnection.html#isFillInterested()">isFillInterested</a>, <a href="../AbstractConnection.html#onReadTimeout(java.lang.Throwable)">onReadTimeout</a>, <a href="../AbstractConnection.html#removeEventListener(java.util.EventListener)">removeEventListener</a>, <a href="../AbstractConnection.html#setInputBufferSize(int)">setInputBufferSize</a>, <a href="../AbstractConnection.html#toString()">toString</a>, <a href="../AbstractConnection.html#tryFillInterested()">tryFillInterested</a>, <a href="../AbstractConnection.html#tryFillInterested(org.eclipse.jetty.util.Callback)">tryFillInterested</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.eclipse.jetty.io.ByteBufferPool,java.util.concurrent.Executor,org.eclipse.jetty.io.EndPoint,javax.net.ssl.SSLEngine)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SslConnection</h4>
<pre>public&nbsp;SslConnection&#8203;(<a href="../ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a>&nbsp;byteBufferPool,
                     java.util.concurrent.Executor&nbsp;executor,
                     <a href="../EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;endPoint,
                     javax.net.ssl.SSLEngine&nbsp;sslEngine)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.eclipse.jetty.io.ByteBufferPool,java.util.concurrent.Executor,org.eclipse.jetty.io.EndPoint,javax.net.ssl.SSLEngine,boolean,boolean)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SslConnection</h4>
<pre>public&nbsp;SslConnection&#8203;(<a href="../ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a>&nbsp;byteBufferPool,
                     java.util.concurrent.Executor&nbsp;executor,
                     <a href="../EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;endPoint,
                     javax.net.ssl.SSLEngine&nbsp;sslEngine,
                     boolean&nbsp;useDirectBuffersForEncryption,
                     boolean&nbsp;useDirectBuffersForDecryption)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="addHandshakeListener(org.eclipse.jetty.io.ssl.SslHandshakeListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addHandshakeListener</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addHandshakeListener&#8203;(<a href="SslHandshakeListener.html" title="interface in org.eclipse.jetty.io.ssl">SslHandshakeListener</a>&nbsp;listener)</pre>
</li>
</ul>
<a id="removeHandshakeListener(org.eclipse.jetty.io.ssl.SslHandshakeListener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeHandshakeListener</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;removeHandshakeListener&#8203;(<a href="SslHandshakeListener.html" title="interface in org.eclipse.jetty.io.ssl">SslHandshakeListener</a>&nbsp;listener)</pre>
</li>
</ul>
<a id="newDecryptedEndPoint()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newDecryptedEndPoint</h4>
<pre class="methodSignature">protected&nbsp;<a href="SslConnection.DecryptedEndPoint.html" title="class in org.eclipse.jetty.io.ssl">SslConnection.DecryptedEndPoint</a>&nbsp;newDecryptedEndPoint()</pre>
</li>
</ul>
<a id="getSSLEngine()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSSLEngine</h4>
<pre class="methodSignature">public&nbsp;javax.net.ssl.SSLEngine&nbsp;getSSLEngine()</pre>
</li>
</ul>
<a id="getDecryptedEndPoint()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDecryptedEndPoint</h4>
<pre class="methodSignature">public&nbsp;<a href="SslConnection.DecryptedEndPoint.html" title="class in org.eclipse.jetty.io.ssl">SslConnection.DecryptedEndPoint</a>&nbsp;getDecryptedEndPoint()</pre>
</li>
</ul>
<a id="isRenegotiationAllowed()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRenegotiationAllowed</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isRenegotiationAllowed()</pre>
</li>
</ul>
<a id="setRenegotiationAllowed(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRenegotiationAllowed</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setRenegotiationAllowed&#8203;(boolean&nbsp;renegotiationAllowed)</pre>
</li>
</ul>
<a id="getRenegotiationLimit()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRenegotiationLimit</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getRenegotiationLimit()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of renegotiations allowed for this connection.  When the limit
 is 0 renegotiation will be denied. If the limit is less than 0 then no limit is applied.</dd>
</dl>
</li>
</ul>
<a id="setRenegotiationLimit(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRenegotiationLimit</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setRenegotiationLimit&#8203;(int&nbsp;renegotiationLimit)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>renegotiationLimit</code> - The number of renegotiations allowed for this connection.
 When the limit is 0 renegotiation will be denied. If the limit is less than 0 then no limit is applied.
 Default -1.</dd>
</dl>
</li>
</ul>
<a id="isRequireCloseMessage()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRequireCloseMessage</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isRequireCloseMessage()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether peers must send the TLS <code>close_notify</code> message</dd>
</dl>
</li>
</ul>
<a id="setRequireCloseMessage(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequireCloseMessage</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setRequireCloseMessage&#8203;(boolean&nbsp;requireCloseMessage)</pre>
<div class="block"><p>Sets whether it is required that a peer send the TLS <code>close_notify</code> message
 to indicate the will to close the connection, otherwise it may be interpreted as a
 truncation attack.</p>
 <p>This option is only useful on clients, since typically servers cannot accept
 connection-delimited content that may be truncated.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requireCloseMessage</code> - whether peers must send the TLS <code>close_notify</code> message</dd>
</dl>
</li>
</ul>
<a id="onUpgradeTo(java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onUpgradeTo</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onUpgradeTo&#8203;(java.nio.ByteBuffer&nbsp;buffer)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Connection.UpgradeTo.html#onUpgradeTo(java.nio.ByteBuffer)">Connection.UpgradeTo</a></code></span></div>
<div class="block"><p>Invoked during an <a href="../EndPoint.html#upgrade(org.eclipse.jetty.io.Connection)"><code>upgrade</code></a>
 to receive a buffer containing bytes that have not been consumed by
 the upgrade-from connection, and that must be consumed by this
 connection.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Connection.UpgradeTo.html#onUpgradeTo(java.nio.ByteBuffer)">onUpgradeTo</a></code>&nbsp;in interface&nbsp;<code><a href="../Connection.UpgradeTo.html" title="interface in org.eclipse.jetty.io">Connection.UpgradeTo</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - a non-null buffer of unconsumed bytes received from
 the upgrade-from connection.
 The buffer does not belong to any pool and should be discarded after
 having consumed its bytes.</dd>
</dl>
</li>
</ul>
<a id="onOpen()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onOpen</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onOpen()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Connection.html#onOpen()">Connection</a></code></span></div>
<div class="block"><p>Callback method invoked when this connection is opened.</p>
 <p>Creators of the connection implementation are responsible for calling this method.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Connection.html#onOpen()">onOpen</a></code>&nbsp;in interface&nbsp;<code><a href="../Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractConnection.html#onOpen()">onOpen</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a></code></dd>
</dl>
</li>
</ul>
<a id="onClose(java.lang.Throwable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onClose</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onClose&#8203;(java.lang.Throwable&nbsp;cause)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Connection.html#onClose(java.lang.Throwable)">Connection</a></code></span></div>
<div class="block"><p>Callback method invoked when this connection is closed.</p>
 <p>Creators of the connection implementation are responsible for calling this method.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Connection.html#onClose(java.lang.Throwable)">onClose</a></code>&nbsp;in interface&nbsp;<code><a href="../Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractConnection.html#onClose(java.lang.Throwable)">onClose</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cause</code> - The cause of the close or null for a normal close</dd>
</dl>
</li>
</ul>
<a id="close()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;close()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Connection.html#close()">Connection</a></code></span></div>
<div class="block"><p>Performs a logical close of this connection.</p>
 <p>For simple connections, this may just mean to delegate the close to the associated
 <a href="../EndPoint.html" title="interface in org.eclipse.jetty.io"><code>EndPoint</code></a> but, for example, SSL connections should write the SSL close message
 before closing the associated <a href="../EndPoint.html" title="interface in org.eclipse.jetty.io"><code>EndPoint</code></a>.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.io.Closeable</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Connection.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="../Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractConnection.html#close()">close</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a></code></dd>
</dl>
</li>
</ul>
<a id="onIdleExpired()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onIdleExpired</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;onIdleExpired()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Connection.html#onIdleExpired()">Connection</a></code></span></div>
<div class="block"><p>Callback method invoked upon an idle timeout event.</p>
 <p>Implementations of this method may return true to indicate that the idle timeout
 handling should proceed normally, typically failing the EndPoint and causing it to
 be closed.</p>
 <p>When false is returned, the handling of the idle timeout event is halted
 immediately and the EndPoint left in the state it was before the idle timeout event.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Connection.html#onIdleExpired()">onIdleExpired</a></code>&nbsp;in interface&nbsp;<code><a href="../Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractConnection.html#onIdleExpired()">onIdleExpired</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true to let the EndPoint handle the idle timeout,
 false to tell the EndPoint to halt the handling of the idle timeout.</dd>
</dl>
</li>
</ul>
<a id="onFillable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onFillable</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onFillable()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../AbstractConnection.html#onFillable()">AbstractConnection</a></code></span></div>
<div class="block"><p>Callback method invoked when the endpoint is ready to be read.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../AbstractConnection.html#onFillable()">onFillable</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../AbstractConnection.html#fillInterested()"><code>AbstractConnection.fillInterested()</code></a></dd>
</dl>
</li>
</ul>
<a id="onFillInterestedFailed(java.lang.Throwable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onFillInterestedFailed</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onFillInterestedFailed&#8203;(java.lang.Throwable&nbsp;cause)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../AbstractConnection.html#onFillInterestedFailed(java.lang.Throwable)">AbstractConnection</a></code></span></div>
<div class="block"><p>Callback method invoked when the endpoint failed to be ready to be read.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractConnection.html#onFillInterestedFailed(java.lang.Throwable)">onFillInterestedFailed</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cause</code> - the exception that caused the failure</dd>
</dl>
</li>
</ul>
<a id="wrap(javax.net.ssl.SSLEngine,java.nio.ByteBuffer[],java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrap</h4>
<pre class="methodSignature">protected&nbsp;javax.net.ssl.SSLEngineResult&nbsp;wrap&#8203;(javax.net.ssl.SSLEngine&nbsp;sslEngine,
                                             java.nio.ByteBuffer[]&nbsp;input,
                                             java.nio.ByteBuffer&nbsp;output)
                                      throws javax.net.ssl.SSLException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
<a id="unwrap(javax.net.ssl.SSLEngine,java.nio.ByteBuffer,java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unwrap</h4>
<pre class="methodSignature">protected&nbsp;javax.net.ssl.SSLEngineResult&nbsp;unwrap&#8203;(javax.net.ssl.SSLEngine&nbsp;sslEngine,
                                               java.nio.ByteBuffer&nbsp;input,
                                               java.nio.ByteBuffer&nbsp;output)
                                        throws javax.net.ssl.SSLException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>javax.net.ssl.SSLException</code></dd>
</dl>
</li>
</ul>
<a id="toConnectionString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toConnectionString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toConnectionString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../AbstractConnection.html#toConnectionString()">toConnectionString</a></code>&nbsp;in class&nbsp;<code><a href="../AbstractConnection.html" title="class in org.eclipse.jetty.io">AbstractConnection</a></code></dd>
</dl>
</li>
</ul>
<a id="releaseDecryptedInputBuffer()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseDecryptedInputBuffer</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;releaseDecryptedInputBuffer()</pre>
</li>
</ul>
<a id="networkFill(java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>networkFill</h4>
<pre class="methodSignature">protected&nbsp;int&nbsp;networkFill&#8203;(java.nio.ByteBuffer&nbsp;input)
                   throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
<a id="networkFlush(java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>networkFlush</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;networkFlush&#8203;(java.nio.ByteBuffer&nbsp;output)
                        throws java.io.IOException</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SslConnection.html">Use</a></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" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2021 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
