blob: 2555de3cac689248309c90fc52d146f8a64ddc1c [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Thu Sep 15 14:12:07 CDT 2022 -->
<title>EndPoint (Eclipse Jetty API Doc - v10.0.12)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-15">
<meta name="description" content="declaration: package: org.eclipse.jetty.io, interface: EndPoint">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/EndPoint.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#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.io</a></div>
<h1 title="Interface EndPoint" class="title">Interface EndPoint</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html" title="class or interface in java.io" class="external-link">Closeable</a></code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AbstractEndPoint.html" title="class in org.eclipse.jetty.io">AbstractEndPoint</a></code>, <code><a href="ByteArrayEndPoint.html" title="class in org.eclipse.jetty.io">ByteArrayEndPoint</a></code>, <code><a href="../http2/client/http/ClientHTTP2StreamEndPoint.html" title="class in org.eclipse.jetty.http2.client.http">ClientHTTP2StreamEndPoint</a></code>, <code><a href="DatagramChannelEndPoint.html" title="class in org.eclipse.jetty.io">DatagramChannelEndPoint</a></code>, <code><a href="../http2/HTTP2StreamEndPoint.html" title="class in org.eclipse.jetty.http2">HTTP2StreamEndPoint</a></code>, <code><a href="../server/LocalConnector.LocalEndPoint.html" title="class in org.eclipse.jetty.server">LocalConnector.LocalEndPoint</a></code>, <code><a href="NetworkTrafficSocketChannelEndPoint.html" title="class in org.eclipse.jetty.io">NetworkTrafficSocketChannelEndPoint</a></code>, <code><a href="../server/ProxyConnectionFactory.ProxyEndPoint.html" title="class in org.eclipse.jetty.server">ProxyConnectionFactory.ProxyEndPoint</a></code>, <code><a href="../quic/common/QuicStreamEndPoint.html" title="class in org.eclipse.jetty.quic.common">QuicStreamEndPoint</a></code>, <code><a href="SelectableChannelEndPoint.html" title="class in org.eclipse.jetty.io">SelectableChannelEndPoint</a></code>, <code><a href="../http2/server/ServerHTTP2StreamEndPoint.html" title="class in org.eclipse.jetty.http2.server">ServerHTTP2StreamEndPoint</a></code>, <code><a href="SocketChannelEndPoint.html" title="class in org.eclipse.jetty.io">SocketChannelEndPoint</a></code>, <code><a href="ssl/SslConnection.DecryptedEndPoint.html" title="class in org.eclipse.jetty.io.ssl">SslConnection.DecryptedEndPoint</a></code>, <code><a href="../unixsocket/common/UnixSocketEndPoint.html" title="class in org.eclipse.jetty.unixsocket.common">UnixSocketEndPoint</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">EndPoint</span><span class="extends-implements">
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html" title="class or interface in java.io" class="external-link">Closeable</a></span></div>
<div class="block"><p>EndPoint is the abstraction for an I/O channel that transports bytes.</p>
<p>Asynchronous Methods</p>
<p>The asynchronous scheduling methods of <a href="EndPoint.html" title="interface in org.eclipse.jetty.io"><code>EndPoint</code></a>
has been influenced by NIO.2 Futures and Completion
handlers, but does not use those actual interfaces because they have
some inefficiencies.</p>
<p>This class will frequently be used in conjunction with some of the utility
implementations of <a href="../util/Callback.html" title="interface in org.eclipse.jetty.util"><code>Callback</code></a>, such as <a href="../util/FutureCallback.html" title="class in org.eclipse.jetty.util"><code>FutureCallback</code></a> and
<a href="../util/IteratingCallback.html" title="class in org.eclipse.jetty.util"><code>IteratingCallback</code></a>.</p>
<p>Reads</p>
<p>A <a href="../util/FutureCallback.html" title="class in org.eclipse.jetty.util"><code>FutureCallback</code></a> can be used to block until an endpoint is ready
to fill bytes - the notification will be emitted by the NIO subsystem:</p>
<pre>
FutureCallback callback = new FutureCallback();
endPoint.fillInterested(callback);
// Blocks until read to fill bytes.
callback.get();
// Now bytes can be filled in a ByteBuffer.
int filled = endPoint.fill(byteBuffer);
</pre>
<p>Asynchronous Reads</p>
<p>A <a href="../util/Callback.html" title="interface in org.eclipse.jetty.util"><code>Callback</code></a> can be used to read asynchronously in its own dispatched
thread:</p>
<pre>
endPoint.fillInterested(new Callback()
{
public void onSucceeded()
{
executor.execute(() -&gt;
{
// Fill bytes in a different thread.
int filled = endPoint.fill(byteBuffer);
});
}
public void onFailed(Throwable failure)
{
endPoint.close();
}
});
</pre>
<p>Blocking Writes</p>
<p>The write contract is that the callback is completed when all the bytes
have been written or there is a failure.
Blocking writes look like this:</p>
<pre>
FutureCallback callback = new FutureCallback();
endpoint.write(callback, headerBuffer, contentBuffer);
// Blocks until the write succeeds or fails.
future.get();
</pre>
<p>Note also that multiple buffers may be passed in <a href="#write(org.eclipse.jetty.util.Callback,java.nio.ByteBuffer...)"><code>write(Callback, ByteBuffer...)</code></a>
so that gather writes can be performed for efficiency.</p></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="caption"><span>Nested Classes</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Interface</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static interface&nbsp;</code></div>
<div class="col-second even-row-color"><code><a href="EndPoint.Wrapper.html" class="type-name-link" title="interface in org.eclipse.jetty.io">EndPoint.Wrapper</a></code></div>
<div class="col-last even-row-color">
<div class="block">Marks an <code>EndPoint</code> that wraps another <code>EndPoint</code>.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab5" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab5', 3)" class="table-tab">Default Methods</button><button id="method-summary-table-tab6" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab6', 3)" class="table-tab">Deprecated Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#close()" class="member-name-link">close</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Close any backing stream associated with the endpoint</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#close(java.lang.Throwable)" class="member-name-link">close</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;cause)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Close any backing stream associated with the endpoint, passing a cause</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#fill(java.nio.ByteBuffer)" class="member-name-link">fill</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>&nbsp;buffer)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Fill the passed buffer with data from this endpoint.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#fillInterested(org.eclipse.jetty.util.Callback)" class="member-name-link">fillInterested</a><wbr>(<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Requests callback methods to be invoked when a call to <a href="#fill(java.nio.ByteBuffer)"><code>fill(ByteBuffer)</code></a> would return data or EOF.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#flush(java.nio.ByteBuffer...)" class="member-name-link">flush</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>...&nbsp;buffer)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Flush data from the passed header/buffer to this endpoint.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getConnection()" class="member-name-link">getConnection</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getCreatedTimeStamp()" class="member-name-link">getCreatedTimeStamp</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIdleTimeout()" class="member-name-link">getIdleTimeout</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the max idle time in ms.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><a href="#getLocalAddress()" class="member-name-link">getLocalAddress</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">use <a href="#getLocalSocketAddress()"><code>getLocalSocketAddress()</code></a> instead</div>
</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/SocketAddress.html" title="class or interface in java.net" class="external-link">SocketAddress</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getLocalSocketAddress()" class="member-name-link">getLocalSocketAddress</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6"><code><a href="#getRemoteAddress()" class="member-name-link">getRemoteAddress</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3 method-summary-table-tab6">
<div class="block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">use <a href="#getRemoteSocketAddress()"><code>getRemoteSocketAddress()</code></a> instead.</div>
</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/SocketAddress.html" title="class or interface in java.net" class="external-link">SocketAddress</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#getRemoteSocketAddress()" class="member-name-link">getRemoteSocketAddress</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTransport()" class="member-name-link">getTransport</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isFillInterested()" class="member-name-link">isFillInterested</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isInputShutdown()" class="member-name-link">isInputShutdown</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Test if the input is shutdown.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isOpen()" class="member-name-link">isOpen</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isOutputShutdown()" class="member-name-link">isOutputShutdown</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Test if output is shutdown.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#onClose(java.lang.Throwable)" class="member-name-link">onClose</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;cause)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<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>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#onOpen()" class="member-name-link">onOpen</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Callback method invoked when this EndPoint is opened.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setConnection(org.eclipse.jetty.io.Connection)" class="member-name-link">setConnection</a><wbr>(<a href="Connection.html" title="interface in org.eclipse.jetty.io">Connection</a>&nbsp;connection)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setIdleTimeout(long)" class="member-name-link">setIdleTimeout</a><wbr>(long&nbsp;idleTimeout)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Set the idle timeout.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#shutdownOutput()" class="member-name-link">shutdownOutput</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Shutdown the output.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#tryFillInterested(org.eclipse.jetty.util.Callback)" class="member-name-link">tryFillInterested</a><wbr>(<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Requests callback methods to be invoked when a call to <a href="#fill(java.nio.ByteBuffer)"><code>fill(ByteBuffer)</code></a> would return data or EOF.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#upgrade(org.eclipse.jetty.io.Connection)" class="member-name-link">upgrade</a><wbr>(<a href="Connection.html" title="interface in org.eclipse.jetty.io">Connection</a>&nbsp;newConnection)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Upgrades this EndPoint from the current connection to the given new connection.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code>default void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5"><code><a href="#write(org.eclipse.jetty.util.Callback,java.nio.ByteBuffer...)" class="member-name-link">write</a><wbr>(<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>...&nbsp;buffers)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab5">
<div class="block">Writes the given buffers via <a href="#flush(java.nio.ByteBuffer...)"><code>flush(ByteBuffer...)</code></a> and invokes callback methods when either
all the data has been flushed or an error occurs.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getLocalAddress()">
<h3>getLocalAddress</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a></span>&nbsp;<span class="element-name">getLocalAddress</span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">use <a href="#getLocalSocketAddress()"><code>getLocalSocketAddress()</code></a> instead</div>
</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The local InetSocketAddress 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>
</section>
</li>
<li>
<section class="detail" id="getLocalSocketAddress()">
<h3>getLocalSocketAddress</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/SocketAddress.html" title="class or interface in java.net" class="external-link">SocketAddress</a></span>&nbsp;<span class="element-name">getLocalSocketAddress</span>()</div>
<dl class="notes">
<dt>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="getRemoteAddress()">
<h3>getRemoteAddress</h3>
<div class="member-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Deprecated.html" title="class or interface in java.lang" class="external-link">@Deprecated</a>
</span><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/InetSocketAddress.html" title="class or interface in java.net" class="external-link">InetSocketAddress</a></span>&nbsp;<span class="element-name">getRemoteAddress</span>()</div>
<div class="deprecation-block"><span class="deprecated-label">Deprecated.</span>
<div class="deprecation-comment">use <a href="#getRemoteSocketAddress()"><code>getRemoteSocketAddress()</code></a> instead.</div>
</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The remote InetSocketAddress 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>
</section>
</li>
<li>
<section class="detail" id="getRemoteSocketAddress()">
<h3>getRemoteSocketAddress</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/SocketAddress.html" title="class or interface in java.net" class="external-link">SocketAddress</a></span>&nbsp;<span class="element-name">getRemoteSocketAddress</span>()</div>
<dl class="notes">
<dt>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="isOpen()">
<h3>isOpen</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isOpen</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>whether this EndPoint is open</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getCreatedTimeStamp()">
<h3>getCreatedTimeStamp</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name">getCreatedTimeStamp</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the epoch time in milliseconds when this EndPoint was created</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="shutdownOutput()">
<h3>shutdownOutput</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">shutdownOutput</span>()</div>
<div class="block">Shutdown the output.
<p>This call indicates that no more data will be sent on this endpoint that
that the remote end should read an EOF once all previously sent data has been
consumed. Shutdown may be done either at the TCP/IP level, as a protocol exchange (Eg
TLS close handshake) or both.
<p>
If the endpoint has <a href="#isInputShutdown()"><code>isInputShutdown()</code></a> true, then this call has the same effect
as <a href="#close()"><code>close()</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="isOutputShutdown()">
<h3>isOutputShutdown</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isOutputShutdown</span>()</div>
<div class="block">Test if output is shutdown.
The output is shutdown by a call to <a href="#shutdownOutput()"><code>shutdownOutput()</code></a>
or <a href="#close()"><code>close()</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the output is shutdown or the endpoint is closed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isInputShutdown()">
<h3>isInputShutdown</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isInputShutdown</span>()</div>
<div class="block">Test if the input is shutdown.
The input is shutdown if an EOF has been read while doing
a <a href="#fill(java.nio.ByteBuffer)"><code>fill(ByteBuffer)</code></a>. Once the input is shutdown, all calls to
<a href="#fill(java.nio.ByteBuffer)"><code>fill(ByteBuffer)</code></a> will return -1, until such time as the
end point is close, when they will return <a href="EofException.html" title="class in org.eclipse.jetty.io"><code>EofException</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>True if the input is shutdown or the endpoint is closed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close()">
<h3>close</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">close</span>()</div>
<div class="block">Close any backing stream associated with the endpoint</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html#close()" title="class or interface in java.lang" class="external-link">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html#close()" title="class or interface in java.io" class="external-link">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html" title="class or interface in java.io" class="external-link">Closeable</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close(java.lang.Throwable)">
<h3>close</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">close</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;cause)</span></div>
<div class="block">Close any backing stream associated with the endpoint, passing a cause</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>cause</code> - the reason for the close or null</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fill(java.nio.ByteBuffer)">
<h3>fill</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">fill</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>&nbsp;buffer)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></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 class="notes">
<dt>Parameters:</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>Returns:</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>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - if the endpoint is closed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="flush(java.nio.ByteBuffer...)">
<h3>flush</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">flush</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>...&nbsp;buffer)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></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 class="notes">
<dt>Parameters:</dt>
<dd><code>buffer</code> - the buffers to flush</dd>
<dt>Returns:</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>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - If the endpoint is closed or output is shutdown.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTransport()">
<h3>getTransport</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span>&nbsp;<span class="element-name">getTransport</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The underlying transport object (socket, channel, etc.)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIdleTimeout()">
<h3>getIdleTimeout</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name">getIdleTimeout</span>()</div>
<div class="block">Get the max idle time in ms.
<p>The max idle time is the time the endpoint can be idle before
extraordinary handling takes place.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the max idle time in ms or if ms &lt;= 0 implies an infinite timeout</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setIdleTimeout(long)">
<h3>setIdleTimeout</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setIdleTimeout</span><wbr><span class="parameters">(long&nbsp;idleTimeout)</span></div>
<div class="block">Set the idle timeout.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>idleTimeout</code> - the idle timeout in MS. Timeout &lt;= 0 implies an infinite timeout</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="fillInterested(org.eclipse.jetty.util.Callback)">
<h3>fillInterested</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">fillInterested</span><wbr><span class="parameters">(<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/channels/ReadPendingException.html" title="class or interface in java.nio.channels" class="external-link">ReadPendingException</a></span></div>
<div class="block"><p>Requests callback methods to be invoked when a call to <a href="#fill(java.nio.ByteBuffer)"><code>fill(ByteBuffer)</code></a> would return data or EOF.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>callback</code> - the callback to call when an error occurs or we are readable. The callback may implement the <a href="../util/thread/Invocable.html" title="interface in org.eclipse.jetty.util.thread"><code>Invocable</code></a> interface to
self declare its blocking status. Non-blocking callbacks may be called more efficiently without dispatch delays.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/channels/ReadPendingException.html" title="class or interface in java.nio.channels" class="external-link">ReadPendingException</a></code> - if another read operation is concurrent.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="tryFillInterested(org.eclipse.jetty.util.Callback)">
<h3>tryFillInterested</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">tryFillInterested</span><wbr><span class="parameters">(<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</span></div>
<div class="block"><p>Requests callback methods to be invoked when a call to <a href="#fill(java.nio.ByteBuffer)"><code>fill(ByteBuffer)</code></a> would return data or EOF.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>callback</code> - the callback to call when an error occurs or we are readable. The callback may implement the <a href="../util/thread/Invocable.html" title="interface in org.eclipse.jetty.util.thread"><code>Invocable</code></a> interface to
self declare its blocking status. Non-blocking callbacks may be called more efficiently without dispatch delays.</dd>
<dt>Returns:</dt>
<dd>true if set</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isFillInterested()">
<h3>isFillInterested</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isFillInterested</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>whether <a href="#fillInterested(org.eclipse.jetty.util.Callback)"><code>fillInterested(Callback)</code></a> has been called, but <a href="#fill(java.nio.ByteBuffer)"><code>fill(ByteBuffer)</code></a> has not yet
been called</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="write(org.eclipse.jetty.util.Callback,java.nio.ByteBuffer...)">
<h3>write</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">write</span><wbr><span class="parameters">(<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a>...&nbsp;buffers)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/channels/WritePendingException.html" title="class or interface in java.nio.channels" class="external-link">WritePendingException</a></span></div>
<div class="block"><p>Writes the given buffers via <a href="#flush(java.nio.ByteBuffer...)"><code>flush(ByteBuffer...)</code></a> and invokes callback methods when either
all the data has been flushed or an error occurs.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>callback</code> - the callback to call when an error occurs or the write completed. The callback may implement the <a href="../util/thread/Invocable.html" title="interface in org.eclipse.jetty.util.thread"><code>Invocable</code></a> interface to
self declare its blocking status. Non-blocking callbacks may be called more efficiently without dispatch delays.</dd>
<dd><code>buffers</code> - one or more <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link"><code>ByteBuffer</code></a>s that will be flushed.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/channels/WritePendingException.html" title="class or interface in java.nio.channels" class="external-link">WritePendingException</a></code> - if another write operation is concurrent.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getConnection()">
<h3>getConnection</h3>
<div class="member-signature"><span class="return-type"><a href="Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></span>&nbsp;<span class="element-name">getConnection</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the <a href="Connection.html" title="interface in org.eclipse.jetty.io"><code>Connection</code></a> associated with this EndPoint</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#setConnection(org.eclipse.jetty.io.Connection)"><code>setConnection(Connection)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setConnection(org.eclipse.jetty.io.Connection)">
<h3>setConnection</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setConnection</span><wbr><span class="parameters">(<a href="Connection.html" title="interface in org.eclipse.jetty.io">Connection</a>&nbsp;connection)</span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>connection</code> - the <a href="Connection.html" title="interface in org.eclipse.jetty.io"><code>Connection</code></a> associated with this EndPoint</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#getConnection()"><code>getConnection()</code></a></li>
<li><a href="#upgrade(org.eclipse.jetty.io.Connection)"><code>upgrade(Connection)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="onOpen()">
<h3>onOpen</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">onOpen</span>()</div>
<div class="block"><p>Callback method invoked when this EndPoint is opened.</p></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#onClose(java.lang.Throwable)"><code>onClose(Throwable)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="onClose(java.lang.Throwable)">
<h3>onClose</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">onClose</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html" title="class or interface in java.lang" class="external-link">Throwable</a>&nbsp;cause)</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 class="notes">
<dt>Parameters:</dt>
<dd><code>cause</code> - The reason for the close, or null if a normal close.</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#onOpen()"><code>onOpen()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="upgrade(org.eclipse.jetty.io.Connection)">
<h3>upgrade</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">upgrade</span><wbr><span class="parameters">(<a href="Connection.html" title="interface in org.eclipse.jetty.io">Connection</a>&nbsp;newConnection)</span></div>
<div class="block"><p>Upgrades this EndPoint from the current connection to the given new connection.</p>
<p>Closes the current connection, links this EndPoint to the new connection and
then opens the new connection.</p>
<p>If the current connection is an instance of <a href="Connection.UpgradeFrom.html" title="interface in org.eclipse.jetty.io"><code>Connection.UpgradeFrom</code></a> then
a buffer of unconsumed bytes is requested.
If the buffer of unconsumed bytes is non-null and non-empty, then the new
connection is tested: if it is an instance of <a href="Connection.UpgradeTo.html" title="interface in org.eclipse.jetty.io"><code>Connection.UpgradeTo</code></a>, then
the unconsumed buffer is passed to the new connection; otherwise, an exception
is thrown since there are unconsumed bytes that cannot be consumed by the new
connection.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>newConnection</code> - the connection to upgrade to</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 1995&#x2013;2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>