blob: 73be00d6ac300841e1582f264345c4c63c0ad675 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.11) on Mon Oct 11 11:08:51 CDT 2021 -->
<title>SocketChannelEndPoint (Eclipse Jetty API Doc - v10.0.7)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-10-11">
<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="SocketChannelEndPoint (Eclipse Jetty API Doc - v10.0.7)";
}
}
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};
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/SocketChannelEndPoint.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</a></div>
<h2 title="Class SocketChannelEndPoint" class="title">Class SocketChannelEndPoint</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="IdleTimeout.html" title="class in org.eclipse.jetty.io">org.eclipse.jetty.io.IdleTimeout</a></li>
<li>
<ul class="inheritance">
<li><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">org.eclipse.jetty.io.AbstractEndPoint</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.io.SocketChannelEndPoint</li>
</ul>
</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="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code>, <code><a href="ManagedSelector.Selectable.html" title="interface in org.eclipse.jetty.io">ManagedSelector.Selectable</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="NetworkTrafficSocketChannelEndPoint.html" title="class in org.eclipse.jetty.io">NetworkTrafficSocketChannelEndPoint</a></code>, <code><a href="../unixsocket/common/UnixSocketEndPoint.html" title="class in org.eclipse.jetty.unixsocket.common">UnixSocketEndPoint</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">SocketChannelEndPoint</span>
extends <a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a>
implements <a href="ManagedSelector.Selectable.html" title="interface in org.eclipse.jetty.io">ManagedSelector.Selectable</a></pre>
<div class="block">Channel End Point.
<p>Holds the channel and socket for an NIO endpoint.</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>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.io.EndPoint">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.io.<a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></h3>
<code><a href="EndPoint.Wrapper.html" title="interface in org.eclipse.jetty.io">EndPoint.Wrapper</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(java.nio.channels.SocketChannel,org.eclipse.jetty.io.ManagedSelector,java.nio.channels.SelectionKey,org.eclipse.jetty.util.thread.Scheduler)">SocketChannelEndPoint</a></span>&#8203;(java.nio.channels.SocketChannel&nbsp;channel,
<a href="ManagedSelector.html" title="class in org.eclipse.jetty.io">ManagedSelector</a>&nbsp;selector,
java.nio.channels.SelectionKey&nbsp;key,
<a href="../util/thread/Scheduler.html" title="interface in org.eclipse.jetty.util.thread">Scheduler</a>&nbsp;scheduler)</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="#doClose()">doClose</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doShutdownOutput()">doShutdownOutput</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fill(java.nio.ByteBuffer)">fill</a></span>&#8203;(java.nio.ByteBuffer&nbsp;buffer)</code></th>
<td class="colLast">
<div class="block">Fill the passed buffer with data from this endpoint.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flush(java.nio.ByteBuffer...)">flush</a></span>&#8203;(java.nio.ByteBuffer...&nbsp;buffers)</code></th>
<td class="colLast">
<div class="block">Flush data from the passed header/buffer to this endpoint.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.nio.channels.SocketChannel</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getChannel()">getChannel</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.net.SocketAddress</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocalSocketAddress()">getLocalSocketAddress</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.net.SocketAddress</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteSocketAddress()">getRemoteSocketAddress</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTransport()">getTransport</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isOpen()">isOpen</a></span>()</code></th>
<td class="colLast">
<div class="block">This abstract method should be called to check if idle timeouts
should still be checked.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#needsFillInterest()">needsFillInterest</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 <a href="EndPoint.html" title="interface in org.eclipse.jetty.io"><code>EndPoint</code></a> is closed.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onIncompleteFlush()">onIncompleteFlush</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.lang.Runnable</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onSelected()">onSelected</a></span>()</code></th>
<td class="colLast">
<div class="block">Callback method invoked when a read or write events has been
detected by the <a href="ManagedSelector.html" title="class in org.eclipse.jetty.io"><code>ManagedSelector</code></a> for this endpoint.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#replaceKey(java.nio.channels.SelectionKey)">replaceKey</a></span>&#8203;(java.nio.channels.SelectionKey&nbsp;newKey)</code></th>
<td class="colLast">
<div class="block">Callback method invoked when the SelectionKey is replaced
because the channel has been moved to a new selector.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toEndPointString()">toEndPointString</a></span>()</code></th>
<td class="colLast">&nbsp;</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="#updateKey()">updateKey</a></span>()</code></th>
<td class="colLast">
<div class="block">Callback method invoked when all the keys selected by the
<a href="ManagedSelector.html" title="class in org.eclipse.jetty.io"><code>ManagedSelector</code></a> for this endpoint have been processed.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.io.AbstractEndPoint">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.io.<a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></h3>
<code><a href="AbstractEndPoint.html#checkFill()">checkFill</a>, <a href="AbstractEndPoint.html#checkFlush()">checkFlush</a>, <a href="AbstractEndPoint.html#close()">close</a>, <a href="AbstractEndPoint.html#close(java.lang.Throwable)">close</a>, <a href="AbstractEndPoint.html#doShutdownInput()">doShutdownInput</a>, <a href="AbstractEndPoint.html#fillInterested(org.eclipse.jetty.util.Callback)">fillInterested</a>, <a href="AbstractEndPoint.html#getConnection()">getConnection</a>, <a href="AbstractEndPoint.html#getCreatedTimeStamp()">getCreatedTimeStamp</a>, <a href="AbstractEndPoint.html#getFillInterest()">getFillInterest</a>, <a href="AbstractEndPoint.html#getLocalAddress()">getLocalAddress</a>, <a href="AbstractEndPoint.html#getRemoteAddress()">getRemoteAddress</a>, <a href="AbstractEndPoint.html#getWriteFlusher()">getWriteFlusher</a>, <a href="AbstractEndPoint.html#isFillInterested()">isFillInterested</a>, <a href="AbstractEndPoint.html#isInputShutdown()">isInputShutdown</a>, <a href="AbstractEndPoint.html#isOutputShutdown()">isOutputShutdown</a>, <a href="AbstractEndPoint.html#onClose()">onClose</a>, <a href="AbstractEndPoint.html#onIdleExpired(java.util.concurrent.TimeoutException)">onIdleExpired</a>, <a href="AbstractEndPoint.html#onOpen()">onOpen</a>, <a href="AbstractEndPoint.html#reset()">reset</a>, <a href="AbstractEndPoint.html#setConnection(org.eclipse.jetty.io.Connection)">setConnection</a>, <a href="AbstractEndPoint.html#shutdownInput()">shutdownInput</a>, <a href="AbstractEndPoint.html#shutdownOutput()">shutdownOutput</a>, <a href="AbstractEndPoint.html#toConnectionString()">toConnectionString</a>, <a href="AbstractEndPoint.html#toString()">toString</a>, <a href="AbstractEndPoint.html#tryFillInterested(org.eclipse.jetty.util.Callback)">tryFillInterested</a>, <a href="AbstractEndPoint.html#upgrade(org.eclipse.jetty.io.Connection)">upgrade</a>, <a href="AbstractEndPoint.html#write(org.eclipse.jetty.util.Callback,java.nio.ByteBuffer...)">write</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.io.IdleTimeout">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.io.<a href="IdleTimeout.html" title="class in org.eclipse.jetty.io">IdleTimeout</a></h3>
<code><a href="IdleTimeout.html#checkIdleTimeout()">checkIdleTimeout</a>, <a href="IdleTimeout.html#getIdleFor()">getIdleFor</a>, <a href="IdleTimeout.html#getIdleTimeout()">getIdleTimeout</a>, <a href="IdleTimeout.html#getScheduler()">getScheduler</a>, <a href="IdleTimeout.html#notIdle()">notIdle</a>, <a href="IdleTimeout.html#setIdleTimeout(long)">setIdleTimeout</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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.io.EndPoint">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.io.<a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></h3>
<code><a href="EndPoint.html#getIdleTimeout()">getIdleTimeout</a>, <a href="EndPoint.html#setIdleTimeout(long)">setIdleTimeout</a></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;(java.nio.channels.SocketChannel,org.eclipse.jetty.io.ManagedSelector,java.nio.channels.SelectionKey,org.eclipse.jetty.util.thread.Scheduler)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SocketChannelEndPoint</h4>
<pre>public&nbsp;SocketChannelEndPoint&#8203;(java.nio.channels.SocketChannel&nbsp;channel,
<a href="ManagedSelector.html" title="class in org.eclipse.jetty.io">ManagedSelector</a>&nbsp;selector,
java.nio.channels.SelectionKey&nbsp;key,
<a href="../util/thread/Scheduler.html" title="interface in org.eclipse.jetty.util.thread">Scheduler</a>&nbsp;scheduler)</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="getLocalSocketAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalSocketAddress</h4>
<pre class="methodSignature">public&nbsp;java.net.SocketAddress&nbsp;getLocalSocketAddress()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="EndPoint.html#getLocalSocketAddress()">getLocalSocketAddress</a></code>&nbsp;in interface&nbsp;<code><a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractEndPoint.html#getLocalSocketAddress()">getLocalSocketAddress</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local SocketAddress to which this <code>EndPoint</code> is bound or <code>null</code>
if this <code>EndPoint</code> is not bound to a Socket address.</dd>
</dl>
</li>
</ul>
<a id="getRemoteSocketAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteSocketAddress</h4>
<pre class="methodSignature">public&nbsp;java.net.SocketAddress&nbsp;getRemoteSocketAddress()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="EndPoint.html#getRemoteSocketAddress()">getRemoteSocketAddress</a></code>&nbsp;in interface&nbsp;<code><a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractEndPoint.html#getRemoteSocketAddress()">getRemoteSocketAddress</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The remote SocketAddress to which this <code>EndPoint</code> is connected, or <code>null</code>
if this <code>EndPoint</code> is not connected to a Socket address.</dd>
</dl>
</li>
</ul>
<a id="isOpen()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOpen</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isOpen()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="IdleTimeout.html#isOpen()">IdleTimeout</a></code></span></div>
<div class="block">This abstract method should be called to check if idle timeouts
should still be checked.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="EndPoint.html#isOpen()">isOpen</a></code>&nbsp;in interface&nbsp;<code><a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractEndPoint.html#isOpen()">isOpen</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the entity monitored should still be checked for idle timeouts</dd>
</dl>
</li>
</ul>
<a id="doShutdownOutput()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doShutdownOutput</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;doShutdownOutput()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractEndPoint.html#doShutdownOutput()">doShutdownOutput</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></code></dd>
</dl>
</li>
</ul>
<a id="doClose()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doClose</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;doClose()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractEndPoint.html#doClose()">doClose</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</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="EndPoint.html#onClose(java.lang.Throwable)">EndPoint</a></code></span></div>
<div class="block"><p>Callback method invoked when this <a href="EndPoint.html" title="interface in org.eclipse.jetty.io"><code>EndPoint</code></a> is closed.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="EndPoint.html#onClose(java.lang.Throwable)">onClose</a></code>&nbsp;in interface&nbsp;<code><a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractEndPoint.html#onClose(java.lang.Throwable)">onClose</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cause</code> - The reason for the close, or null if a normal close.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="EndPoint.html#onOpen()"><code>EndPoint.onOpen()</code></a></dd>
</dl>
</li>
</ul>
<a id="fill(java.nio.ByteBuffer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fill</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;fill&#8203;(java.nio.ByteBuffer&nbsp;buffer)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="EndPoint.html#fill(java.nio.ByteBuffer)">EndPoint</a></code></span></div>
<div class="block">Fill the passed buffer with data from this endpoint. The bytes are appended to any
data already in the buffer by writing from the buffers limit up to it's capacity.
The limit is updated to include the filled bytes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="EndPoint.html#fill(java.nio.ByteBuffer)">fill</a></code>&nbsp;in interface&nbsp;<code><a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - The buffer to fill. The position and limit are modified during the fill. After the
operation, the position is unchanged and the limit is increased to reflect the new data filled.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an <code>int</code> value indicating the number of bytes
filled or -1 if EOF is read or the input is shutdown.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if the endpoint is closed.</dd>
</dl>
</li>
</ul>
<a id="flush(java.nio.ByteBuffer...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flush</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;flush&#8203;(java.nio.ByteBuffer...&nbsp;buffers)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="EndPoint.html#flush(java.nio.ByteBuffer...)">EndPoint</a></code></span></div>
<div class="block">Flush data from the passed header/buffer to this endpoint. As many bytes as can be consumed
are taken from the header/buffer position up until the buffer limit. The header/buffers position
is updated to indicate how many bytes have been consumed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="EndPoint.html#flush(java.nio.ByteBuffer...)">flush</a></code>&nbsp;in interface&nbsp;<code><a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffers</code> - the buffers to flush</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True IFF all the buffers have been consumed and the endpoint has flushed the data to its
destination (ie is not buffering any data).</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - If the endpoint is closed or output is shutdown.</dd>
</dl>
</li>
</ul>
<a id="getChannel()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getChannel</h4>
<pre class="methodSignature">public&nbsp;java.nio.channels.SocketChannel&nbsp;getChannel()</pre>
</li>
</ul>
<a id="getTransport()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransport</h4>
<pre class="methodSignature">public&nbsp;java.lang.Object&nbsp;getTransport()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="EndPoint.html#getTransport()">getTransport</a></code>&nbsp;in interface&nbsp;<code><a href="EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The underlying transport object (socket, channel, etc.)</dd>
</dl>
</li>
</ul>
<a id="needsFillInterest()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>needsFillInterest</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;needsFillInterest()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractEndPoint.html#needsFillInterest()">needsFillInterest</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></code></dd>
</dl>
</li>
</ul>
<a id="onIncompleteFlush()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onIncompleteFlush</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;onIncompleteFlush()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractEndPoint.html#onIncompleteFlush()">onIncompleteFlush</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></code></dd>
</dl>
</li>
</ul>
<a id="onSelected()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onSelected</h4>
<pre class="methodSignature">public&nbsp;java.lang.Runnable&nbsp;onSelected()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ManagedSelector.Selectable.html#onSelected()">ManagedSelector.Selectable</a></code></span></div>
<div class="block">Callback method invoked when a read or write events has been
detected by the <a href="ManagedSelector.html" title="class in org.eclipse.jetty.io"><code>ManagedSelector</code></a> for this endpoint.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ManagedSelector.Selectable.html#onSelected()">onSelected</a></code>&nbsp;in interface&nbsp;<code><a href="ManagedSelector.Selectable.html" title="interface in org.eclipse.jetty.io">ManagedSelector.Selectable</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a job that may block or null</dd>
</dl>
</li>
</ul>
<a id="updateKey()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;updateKey()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ManagedSelector.Selectable.html#updateKey()">ManagedSelector.Selectable</a></code></span></div>
<div class="block">Callback method invoked when all the keys selected by the
<a href="ManagedSelector.html" title="class in org.eclipse.jetty.io"><code>ManagedSelector</code></a> for this endpoint have been processed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ManagedSelector.Selectable.html#updateKey()">updateKey</a></code>&nbsp;in interface&nbsp;<code><a href="ManagedSelector.Selectable.html" title="interface in org.eclipse.jetty.io">ManagedSelector.Selectable</a></code></dd>
</dl>
</li>
</ul>
<a id="replaceKey(java.nio.channels.SelectionKey)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;replaceKey&#8203;(java.nio.channels.SelectionKey&nbsp;newKey)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ManagedSelector.Selectable.html#replaceKey(java.nio.channels.SelectionKey)">ManagedSelector.Selectable</a></code></span></div>
<div class="block">Callback method invoked when the SelectionKey is replaced
because the channel has been moved to a new selector.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ManagedSelector.Selectable.html#replaceKey(java.nio.channels.SelectionKey)">replaceKey</a></code>&nbsp;in interface&nbsp;<code><a href="ManagedSelector.Selectable.html" title="interface in org.eclipse.jetty.io">ManagedSelector.Selectable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>newKey</code> - the new SelectionKey</dd>
</dl>
</li>
</ul>
<a id="toEndPointString()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toEndPointString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toEndPointString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractEndPoint.html#toEndPointString()">toEndPointString</a></code>&nbsp;in class&nbsp;<code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></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/SocketChannelEndPoint.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>