blob: b6f4d24289ab3508245454e0fdd2bd2cd127160d [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Tue Feb 08 12:40:05 CST 2022 -->
<title>HttpChannel (Eclipse Jetty API Doc - v10.0.8)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-02-08">
<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="HttpChannel (Eclipse Jetty API Doc - v10.0.8)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":6,"i8":10,"i9":6,"i10":6,"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,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":42,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":6,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":6,"i57":10,"i58":42,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated 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/HttpChannel.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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.server</a></div>
<h2 title="Class HttpChannel" class="title">Class HttpChannel</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.server.HttpChannel</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.lang.Runnable</code>, <code><a href="HttpOutput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpOutput.Interceptor</a></code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="../fcgi/server/HttpChannelOverFCGI.html" title="class in org.eclipse.jetty.fcgi.server">HttpChannelOverFCGI</a></code>, <code><a href="HttpChannelOverHttp.html" title="class in org.eclipse.jetty.server">HttpChannelOverHttp</a></code>, <code><a href="../http2/server/HttpChannelOverHTTP2.html" title="class in org.eclipse.jetty.http2.server">HttpChannelOverHTTP2</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">HttpChannel</span>
extends java.lang.Object
implements java.lang.Runnable, <a href="HttpOutput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpOutput.Interceptor</a></pre>
<div class="block">HttpChannel represents a single endpoint for HTTP semantic processing.
The HttpChannel is both an HttpParser.RequestHandler, where it passively receives events from
an incoming HTTP request, and a Runnable, where it actively takes control of the request/response
life cycle and calls the application (perhaps suspending and resuming with multiple calls to run).
The HttpChannel signals the switch from passive mode to active mode by returning true to one of the
HttpParser.RequestHandler callbacks. The completion of the active phase is signalled by a call to
HttpTransport.completed().</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>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a></span></code></th>
<td class="colLast">
<div class="block">Listener for <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a> events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="HttpChannel.TransientListeners.html" title="class in org.eclipse.jetty.server">HttpChannel.TransientListeners</a></span></code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#NOOP_LISTENER">NOOP_LISTENER</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</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.server.Connector,org.eclipse.jetty.server.HttpConfiguration,org.eclipse.jetty.io.EndPoint,org.eclipse.jetty.server.HttpTransport)">HttpChannel</a></span>&#8203;(<a href="Connector.html" title="interface in org.eclipse.jetty.server">Connector</a>&nbsp;connector,
<a href="HttpConfiguration.html" title="class in org.eclipse.jetty.server">HttpConfiguration</a>&nbsp;configuration,
<a href="../io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;endPoint,
<a href="HttpTransport.html" title="interface in org.eclipse.jetty.server">HttpTransport</a>&nbsp;transport)</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="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="#abort(java.lang.Throwable)">abort</a></span>&#8203;(java.lang.Throwable&nbsp;failure)</code></th>
<td class="colLast">
<div class="block">If a write or similar operation to this channel fails,
then this method should be called.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addListener(org.eclipse.jetty.server.HttpChannel.Listener)">addListener</a></span>&#8203;(<a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a>&nbsp;listener)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addRequestLog(org.eclipse.jetty.server.RequestLog)">addRequestLog</a></span>&#8203;(<a href="RequestLog.html" title="interface in org.eclipse.jetty.server">RequestLog</a>&nbsp;requestLog)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkAndPrepareUpgrade()">checkAndPrepareUpgrade</a></span>()</code></th>
<td class="colLast">
<div class="block">Checks whether the processing of the request resulted in an upgrade,
and if so performs upgrade preparation steps <em>before</em> the upgrade
response is sent back to the client.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#commit(org.eclipse.jetty.http.MetaData.Response)">commit</a></span>&#8203;(<a href="../http/MetaData.Response.html" title="class in org.eclipse.jetty.http">MetaData.Response</a>&nbsp;info)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#continue100(int)">continue100</a></span>&#8203;(int&nbsp;available)</code></th>
<td class="colLast">
<div class="block">If the associated response has the Expect header set to 100 Continue,
then accessing the input stream indicates that the handler/servlet
is ready for the request body and thus a 100 Continue response is sent.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ensureConsumeAllOrNotPersistent()">ensureConsumeAllOrNotPersistent</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#eof()">eof</a></span>()</code></th>
<td class="colLast">
<div class="block">Mark the channel's input as EOF.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#execute(java.lang.Runnable)">execute</a></span>&#8203;(java.lang.Runnable&nbsp;task)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#failAllContent(java.lang.Throwable)">failAllContent</a></span>&#8203;(java.lang.Throwable&nbsp;failure)</code></th>
<td class="colLast">
<div class="block">Fail all content that is currently stored within the channel.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#failed(java.lang.Throwable)">failed</a></span>&#8203;(java.lang.Throwable&nbsp;failure)</code></th>
<td class="colLast">
<div class="block">Fail the channel's input.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#formatAddrOrHost(java.lang.String)">formatAddrOrHost</a></span>&#8203;(java.lang.String&nbsp;addr)</code></th>
<td class="colLast">
<div class="block">Format the address or host returned from Request methods</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../io/ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getByteBufferPool()">getByteBufferPool</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBytesWritten()">getBytesWritten</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../http/MetaData.Response.html" title="class in org.eclipse.jetty.http">MetaData.Response</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCommittedMetaData()">getCommittedMetaData</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../io/Connection.html" title="interface in org.eclipse.jetty.io">Connection</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConnection()">getConnection</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="Connector.html" title="interface in org.eclipse.jetty.server">Connector</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConnector()">getConnector</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEndPoint()">getEndPoint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="HttpConfiguration.html" title="class in org.eclipse.jetty.server">HttpConfiguration</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHttpConfiguration()">getHttpConfiguration</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="HttpTransport.html" title="interface in org.eclipse.jetty.server">HttpTransport</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHttpTransport()">getHttpTransport</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIdleTimeout()">getIdleTimeout</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the idle timeout.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>java.net.InetSocketAddress</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocalAddress()">getLocalAddress</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocalName()">getLocalName</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the local name of the connected channel.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLocalPort()">getLocalPort</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the Local Port of the connected channel.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="HttpOutput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpOutput.Interceptor</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getNextInterceptor()">getNextInterceptor</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>java.net.InetSocketAddress</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteAddress()">getRemoteAddress</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="Request.html" title="class in org.eclipse.jetty.server">Request</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRequest()">getRequest</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code><a href="RequestLog.html" title="interface in org.eclipse.jetty.server">RequestLog</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRequestLog()">getRequestLog</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRequests()">getRequests</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="Response.html" title="class in org.eclipse.jetty.server">Response</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponse()">getResponse</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="../util/thread/Scheduler.html" title="interface in org.eclipse.jetty.util.thread">Scheduler</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getScheduler()">getScheduler</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="Server.html" title="class in org.eclipse.jetty.server">Server</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServer()">getServer</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../util/HostPort.html" title="class in org.eclipse.jetty.util">HostPort</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServerAuthority()">getServerAuthority</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="HttpChannelState.html" title="class in org.eclipse.jetty.server">HttpChannelState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getState()">getState</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>java.util.List&lt;<a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTransientListeners()">getTransientListeners</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="../io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTunnellingEndPoint()">getTunnellingEndPoint</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handle()">handle</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleException(java.lang.Throwable)">handleException</a></span>&#8203;(java.lang.Throwable&nbsp;failure)</code></th>
<td class="colLast">
<div class="block">Sends an error 500, performing a special logic to detect whether the request is suspended,
to avoid concurrent writes from the application.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isCommitted()">isCommitted</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isExpecting100Continue()">isExpecting100Continue</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isExpecting102Processing()">isExpecting102Processing</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPersistent()">isPersistent</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRequestCompleted()">isRequestCompleted</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isResponseCompleted()">isResponseCompleted</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSendError()">isSendError</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isTunnellingSupported()">isTunnellingSupported</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isUseOutputDirectByteBuffers()">isUseOutputDirectByteBuffers</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#needContent()">needContent</a></span>()</code></th>
<td class="colLast">
<div class="block">Notify the channel that content is needed.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>protected <a href="HttpOutput.html" title="class in org.eclipse.jetty.server">HttpOutput</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newHttpOutput()">newHttpOutput</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onBadMessage(org.eclipse.jetty.http.BadMessageException)">onBadMessage</a></span>&#8203;(<a href="../http/BadMessageException.html" title="class in org.eclipse.jetty.http">BadMessageException</a>&nbsp;failure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onCompleted()">onCompleted</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onContent(org.eclipse.jetty.server.HttpInput.Content)">onContent</a></span>&#8203;(<a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server">HttpInput.Content</a>&nbsp;content)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onContentComplete()">onContentComplete</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onRequest(org.eclipse.jetty.http.MetaData.Request)">onRequest</a></span>&#8203;(<a href="../http/MetaData.Request.html" title="class in org.eclipse.jetty.http">MetaData.Request</a>&nbsp;request)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onRequestComplete()">onRequestComplete</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onTrailers(org.eclipse.jetty.http.HttpFields)">onTrailers</a></span>&#8203;(<a href="../http/HttpFields.html" title="interface in org.eclipse.jetty.http">HttpFields</a>&nbsp;trailers)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>abstract <a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server">HttpInput.Content</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#produceContent()">produceContent</a></span>()</code></th>
<td class="colLast">
<div class="block">Produce a <a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server"><code>HttpInput.Content</code></a> object with data currently stored within the channel.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#recycle()">recycle</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeListener(org.eclipse.jetty.server.HttpChannel.Listener)">removeListener</a></span>&#8203;(<a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a>&nbsp;listener)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resetBuffer()">resetBuffer</a></span>()</code></th>
<td class="colLast">
<div class="block">Reset the buffers.</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#run()">run</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendErrorOrAbort(java.lang.String)">sendErrorOrAbort</a></span>&#8203;(java.lang.String&nbsp;message)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendResponse(org.eclipse.jetty.http.MetaData.Response,java.nio.ByteBuffer,boolean)">sendResponse</a></span>&#8203;(<a href="../http/MetaData.Response.html" title="class in org.eclipse.jetty.http">MetaData.Response</a>&nbsp;info,
java.nio.ByteBuffer&nbsp;content,
boolean&nbsp;complete)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendResponse(org.eclipse.jetty.http.MetaData.Response,java.nio.ByteBuffer,boolean,org.eclipse.jetty.util.Callback)">sendResponse</a></span>&#8203;(<a href="../http/MetaData.Response.html" title="class in org.eclipse.jetty.http">MetaData.Response</a>&nbsp;response,
java.nio.ByteBuffer&nbsp;content,
boolean&nbsp;complete,
<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendResponseAndComplete()">sendResponseAndComplete</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setIdleTimeout(long)">setIdleTimeout</a></span>&#8203;(long&nbsp;timeoutMs)</code></th>
<td class="colLast">
<div class="block">Set the idle timeout.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRequestLog(org.eclipse.jetty.server.RequestLog)">setRequestLog</a></span>&#8203;(<a href="RequestLog.html" title="interface in org.eclipse.jetty.server">RequestLog</a>&nbsp;requestLog)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>protected java.lang.Throwable</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unwrap(java.lang.Throwable,java.lang.Class...)">unwrap</a></span>&#8203;(java.lang.Throwable&nbsp;failure,
java.lang.Class&lt;?&gt;...&nbsp;targets)</code></th>
<td class="colLast">
<div class="block">Unwrap failure causes to find target class</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#write(java.nio.ByteBuffer,boolean,org.eclipse.jetty.util.Callback)">write</a></span>&#8203;(java.nio.ByteBuffer&nbsp;content,
boolean&nbsp;complete,
<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Non-Blocking write, committing the response if needed.</div>
</td>
</tr>
</table>
<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">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="NOOP_LISTENER">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NOOP_LISTENER</h4>
<pre>public static&nbsp;<a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a> NOOP_LISTENER</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= 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.server.Connector,org.eclipse.jetty.server.HttpConfiguration,org.eclipse.jetty.io.EndPoint,org.eclipse.jetty.server.HttpTransport)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HttpChannel</h4>
<pre>public&nbsp;HttpChannel&#8203;(<a href="Connector.html" title="interface in org.eclipse.jetty.server">Connector</a>&nbsp;connector,
<a href="HttpConfiguration.html" title="class in org.eclipse.jetty.server">HttpConfiguration</a>&nbsp;configuration,
<a href="../io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;endPoint,
<a href="HttpTransport.html" title="interface in org.eclipse.jetty.server">HttpTransport</a>&nbsp;transport)</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="isSendError()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSendError</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSendError()</pre>
</li>
</ul>
<a id="formatAddrOrHost(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>formatAddrOrHost</h4>
<pre class="methodSignature">protected&nbsp;java.lang.String&nbsp;formatAddrOrHost&#8203;(java.lang.String&nbsp;addr)</pre>
<div class="block">Format the address or host returned from Request methods</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>addr</code> - The address or host</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Default implementation returns <a href="../util/HostPort.html#normalizeHost(java.lang.String)"><code>HostPort.normalizeHost(String)</code></a></dd>
</dl>
</li>
</ul>
<a id="needContent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>needContent</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;needContent()</pre>
<div class="block">Notify the channel that content is needed. If some content is immediately available, true is returned and
<a href="#produceContent()"><code>produceContent()</code></a> has to be called and will return a non-null object.
If no content is immediately available, an attempt to produce content must be made; if new content has been
produced, true is returned; otherwise <a href="HttpInput.html#onContentProducible()"><code>HttpInput.onContentProducible()</code></a> is called once some content
arrives and <a href="#produceContent()"><code>produceContent()</code></a> can be called without returning <code>null</code>.
If a failure happens, then <a href="HttpInput.html#onContentProducible()"><code>HttpInput.onContentProducible()</code></a> will be called and an error content will
return the error on the next call to <a href="#produceContent()"><code>produceContent()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if content is immediately available.</dd>
</dl>
</li>
</ul>
<a id="produceContent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>produceContent</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server">HttpInput.Content</a>&nbsp;produceContent()</pre>
<div class="block">Produce a <a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server"><code>HttpInput.Content</code></a> object with data currently stored within the channel. The produced content
can be special (meaning calling <a href="HttpInput.Content.html#isSpecial()"><code>HttpInput.Content.isSpecial()</code></a> returns true) if the channel reached a special
state, like EOF or an error.
Once a special content has been returned, all subsequent calls to this method will always return a special content
of the same kind and <a href="#needContent()"><code>needContent()</code></a> will always return true.
The returned content is "raw", i.e.: not decoded.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server"><code>HttpInput.Content</code></a> object if one is immediately available without blocking, null otherwise.</dd>
</dl>
</li>
</ul>
<a id="failAllContent(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>failAllContent</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;failAllContent&#8203;(java.lang.Throwable&nbsp;failure)</pre>
<div class="block">Fail all content that is currently stored within the channel.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>failure</code> - the failure to fail the content with.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if EOF was reached while failing all content, false otherwise.</dd>
</dl>
</li>
</ul>
<a id="failed(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>failed</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;failed&#8203;(java.lang.Throwable&nbsp;failure)</pre>
<div class="block">Fail the channel's input.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>failure</code> - the failure.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the channel needs to be rescheduled.</dd>
</dl>
</li>
</ul>
<a id="eof()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>eof</h4>
<pre class="methodSignature">protected abstract&nbsp;boolean&nbsp;eof()</pre>
<div class="block">Mark the channel's input as EOF.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the channel needs to be rescheduled.</dd>
</dl>
</li>
</ul>
<a id="newHttpOutput()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newHttpOutput</h4>
<pre class="methodSignature">protected&nbsp;<a href="HttpOutput.html" title="class in org.eclipse.jetty.server">HttpOutput</a>&nbsp;newHttpOutput()</pre>
</li>
</ul>
<a id="getState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre class="methodSignature">public&nbsp;<a href="HttpChannelState.html" title="class in org.eclipse.jetty.server">HttpChannelState</a>&nbsp;getState()</pre>
</li>
</ul>
<a id="addListener(org.eclipse.jetty.server.HttpChannel.Listener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addListener</h4>
<pre class="methodSignature">@Deprecated
public&nbsp;boolean&nbsp;addListener&#8203;(<a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a>&nbsp;listener)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
<div class="block">Add a transient Listener to the HttpChannel.
<p>Listeners added by this method will only be notified
if the HttpChannel has been constructed with an instance of
<a href="HttpChannel.TransientListeners.html" title="class in org.eclipse.jetty.server"><code>HttpChannel.TransientListeners</code></a> as an <a href="AbstractConnector.html" title="class in org.eclipse.jetty.server"><code>AbstractConnector</code></a>
provided listener</p>
<p>Transient listeners are removed after every request cycle</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - the listener to add</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the listener was added.</dd>
</dl>
</li>
</ul>
<a id="removeListener(org.eclipse.jetty.server.HttpChannel.Listener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeListener</h4>
<pre class="methodSignature">@Deprecated
public&nbsp;boolean&nbsp;removeListener&#8203;(<a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a>&nbsp;listener)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</li>
</ul>
<a id="getTransientListeners()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransientListeners</h4>
<pre class="methodSignature">@Deprecated
public&nbsp;java.util.List&lt;<a href="HttpChannel.Listener.html" title="interface in org.eclipse.jetty.server">HttpChannel.Listener</a>&gt;&nbsp;getTransientListeners()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span></div>
</li>
</ul>
<a id="getBytesWritten()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBytesWritten</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getBytesWritten()</pre>
</li>
</ul>
<a id="getRequests()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequests</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getRequests()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of requests handled by this connection</dd>
</dl>
</li>
</ul>
<a id="getConnector()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnector</h4>
<pre class="methodSignature">public&nbsp;<a href="Connector.html" title="interface in org.eclipse.jetty.server">Connector</a>&nbsp;getConnector()</pre>
</li>
</ul>
<a id="getHttpTransport()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHttpTransport</h4>
<pre class="methodSignature">public&nbsp;<a href="HttpTransport.html" title="interface in org.eclipse.jetty.server">HttpTransport</a>&nbsp;getHttpTransport()</pre>
</li>
</ul>
<a id="getRequestLog()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequestLog</h4>
<pre class="methodSignature">public&nbsp;<a href="RequestLog.html" title="interface in org.eclipse.jetty.server">RequestLog</a>&nbsp;getRequestLog()</pre>
</li>
</ul>
<a id="setRequestLog(org.eclipse.jetty.server.RequestLog)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequestLog</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setRequestLog&#8203;(<a href="RequestLog.html" title="interface in org.eclipse.jetty.server">RequestLog</a>&nbsp;requestLog)</pre>
</li>
</ul>
<a id="addRequestLog(org.eclipse.jetty.server.RequestLog)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addRequestLog</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addRequestLog&#8203;(<a href="RequestLog.html" title="interface in org.eclipse.jetty.server">RequestLog</a>&nbsp;requestLog)</pre>
</li>
</ul>
<a id="getCommittedMetaData()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCommittedMetaData</h4>
<pre class="methodSignature">public&nbsp;<a href="../http/MetaData.Response.html" title="class in org.eclipse.jetty.http">MetaData.Response</a>&nbsp;getCommittedMetaData()</pre>
</li>
</ul>
<a id="getIdleTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIdleTimeout</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getIdleTimeout()</pre>
<div class="block">Get the idle timeout.
<p>This is implemented as a call to <a href="../io/EndPoint.html#getIdleTimeout()"><code>EndPoint.getIdleTimeout()</code></a>, but may be
overridden by channels that have timeouts different from their connections.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the idle timeout (in milliseconds)</dd>
</dl>
</li>
</ul>
<a id="setIdleTimeout(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIdleTimeout</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setIdleTimeout&#8203;(long&nbsp;timeoutMs)</pre>
<div class="block">Set the idle timeout.
<p>This is implemented as a call to <a href="../io/EndPoint.html#setIdleTimeout(long)"><code>EndPoint.setIdleTimeout(long)</code></a>, but may be
overridden by channels that have timeouts different from their connections.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeoutMs</code> - the idle timeout in milliseconds</dd>
</dl>
</li>
</ul>
<a id="getByteBufferPool()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getByteBufferPool</h4>
<pre class="methodSignature">public&nbsp;<a href="../io/ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a>&nbsp;getByteBufferPool()</pre>
</li>
</ul>
<a id="getHttpConfiguration()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHttpConfiguration</h4>
<pre class="methodSignature">public&nbsp;<a href="HttpConfiguration.html" title="class in org.eclipse.jetty.server">HttpConfiguration</a>&nbsp;getHttpConfiguration()</pre>
</li>
</ul>
<a id="getServer()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServer</h4>
<pre class="methodSignature">public&nbsp;<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;getServer()</pre>
</li>
</ul>
<a id="getRequest()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRequest</h4>
<pre class="methodSignature">public&nbsp;<a href="Request.html" title="class in org.eclipse.jetty.server">Request</a>&nbsp;getRequest()</pre>
</li>
</ul>
<a id="getResponse()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponse</h4>
<pre class="methodSignature">public&nbsp;<a href="Response.html" title="class in org.eclipse.jetty.server">Response</a>&nbsp;getResponse()</pre>
</li>
</ul>
<a id="getConnection()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConnection</h4>
<pre class="methodSignature">public&nbsp;<a href="../io/Connection.html" title="interface in org.eclipse.jetty.io">Connection</a>&nbsp;getConnection()</pre>
</li>
</ul>
<a id="getEndPoint()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEndPoint</h4>
<pre class="methodSignature">public&nbsp;<a href="../io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;getEndPoint()</pre>
</li>
</ul>
<a id="getLocalName()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalName</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getLocalName()</pre>
<div class="block"><p>Return the local name of the connected channel.</p>
<p>
This is the host name after the connector is bound and the connection is accepted.
</p>
<p>
Value can be overridden by <a href="HttpConfiguration.html#setLocalAddress(java.net.SocketAddress)"><code>HttpConfiguration.setLocalAddress(SocketAddress)</code></a>.
</p>
<p>
Note: some connectors are not based on IP networking, and default behavior here will
result in a null return. Use <a href="HttpConfiguration.html#setLocalAddress(java.net.SocketAddress)"><code>HttpConfiguration.setLocalAddress(SocketAddress)</code></a>
to set the value to an acceptable host name.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local name, or null</dd>
</dl>
</li>
</ul>
<a id="getLocalPort()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalPort</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getLocalPort()</pre>
<div class="block"><p>Return the Local Port of the connected channel.</p>
<p>
This is the port the connector is bound to and is accepting connections on.
</p>
<p>
Value can be overridden by <a href="HttpConfiguration.html#setLocalAddress(java.net.SocketAddress)"><code>HttpConfiguration.setLocalAddress(SocketAddress)</code></a>.
</p>
<p>
Note: some connectors are not based on IP networking, and default behavior here will
result in a value of 0 returned. Use <a href="HttpConfiguration.html#setLocalAddress(java.net.SocketAddress)"><code>HttpConfiguration.setLocalAddress(SocketAddress)</code></a>
to set the value to an acceptable port.
</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local port, or 0 if unspecified</dd>
</dl>
</li>
</ul>
<a id="getLocalAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalAddress</h4>
<pre class="methodSignature">public&nbsp;java.net.InetSocketAddress&nbsp;getLocalAddress()</pre>
</li>
</ul>
<a id="getRemoteAddress()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteAddress</h4>
<pre class="methodSignature">public&nbsp;java.net.InetSocketAddress&nbsp;getRemoteAddress()</pre>
</li>
</ul>
<a id="getServerAuthority()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServerAuthority</h4>
<pre class="methodSignature">public&nbsp;<a href="../util/HostPort.html" title="class in org.eclipse.jetty.util">HostPort</a>&nbsp;getServerAuthority()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>return the HttpConfiguration server authority override</dd>
</dl>
</li>
</ul>
<a id="continue100(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>continue100</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;continue100&#8203;(int&nbsp;available)
throws java.io.IOException</pre>
<div class="block">If the associated response has the Expect header set to 100 Continue,
then accessing the input stream indicates that the handler/servlet
is ready for the request body and thus a 100 Continue response is sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>available</code> - estimate of the number of bytes that are available</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if the InputStream cannot be created</dd>
</dl>
</li>
</ul>
<a id="recycle()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recycle</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;recycle()</pre>
</li>
</ul>
<a id="run()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;run()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>run</code>&nbsp;in interface&nbsp;<code>java.lang.Runnable</code></dd>
</dl>
</li>
</ul>
<a id="handle()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handle</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;handle()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the channel is ready to continue handling (ie it is not suspended)</dd>
</dl>
</li>
</ul>
<a id="ensureConsumeAllOrNotPersistent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ensureConsumeAllOrNotPersistent</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ensureConsumeAllOrNotPersistent()</pre>
</li>
</ul>
<a id="sendErrorOrAbort(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendErrorOrAbort</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;sendErrorOrAbort&#8203;(java.lang.String&nbsp;message)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>message</code> - the error message.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if we have sent an error, false if we have aborted.</dd>
</dl>
</li>
</ul>
<a id="handleException(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleException</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;handleException&#8203;(java.lang.Throwable&nbsp;failure)</pre>
<div class="block"><p>Sends an error 500, performing a special logic to detect whether the request is suspended,
to avoid concurrent writes from the application.</p>
<p>It may happen that the application suspends, and then throws an exception, while an application
spawned thread writes the response content; in such case, we attempt to commit the error directly
bypassing the <a href="handler/ErrorHandler.html" title="class in org.eclipse.jetty.server.handler"><code>ErrorHandler</code></a> mechanisms and the response OutputStream.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>failure</code> - the Throwable that caused the problem</dd>
</dl>
</li>
</ul>
<a id="unwrap(java.lang.Throwable,java.lang.Class...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unwrap</h4>
<pre class="methodSignature">protected&nbsp;java.lang.Throwable&nbsp;unwrap&#8203;(java.lang.Throwable&nbsp;failure,
java.lang.Class&lt;?&gt;...&nbsp;targets)</pre>
<div class="block">Unwrap failure causes to find target class</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>failure</code> - The throwable to have its causes unwrapped</dd>
<dd><code>targets</code> - Exception classes that we should not unwrap</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A target throwable or null</dd>
</dl>
</li>
</ul>
<a id="sendResponseAndComplete()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendResponseAndComplete</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;sendResponseAndComplete()</pre>
</li>
</ul>
<a id="isExpecting100Continue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isExpecting100Continue</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isExpecting100Continue()</pre>
</li>
</ul>
<a id="isExpecting102Processing()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isExpecting102Processing</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isExpecting102Processing()</pre>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a id="onRequest(org.eclipse.jetty.http.MetaData.Request)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onRequest</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onRequest&#8203;(<a href="../http/MetaData.Request.html" title="class in org.eclipse.jetty.http">MetaData.Request</a>&nbsp;request)</pre>
</li>
</ul>
<a id="onContent(org.eclipse.jetty.server.HttpInput.Content)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContent</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;onContent&#8203;(<a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server">HttpInput.Content</a>&nbsp;content)</pre>
</li>
</ul>
<a id="onContentComplete()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onContentComplete</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;onContentComplete()</pre>
</li>
</ul>
<a id="onTrailers(org.eclipse.jetty.http.HttpFields)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onTrailers</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onTrailers&#8203;(<a href="../http/HttpFields.html" title="interface in org.eclipse.jetty.http">HttpFields</a>&nbsp;trailers)</pre>
</li>
</ul>
<a id="onRequestComplete()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onRequestComplete</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;onRequestComplete()</pre>
</li>
</ul>
<a id="checkAndPrepareUpgrade()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkAndPrepareUpgrade</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;checkAndPrepareUpgrade()</pre>
<div class="block"><p>Checks whether the processing of the request resulted in an upgrade,
and if so performs upgrade preparation steps <em>before</em> the upgrade
response is sent back to the client.</p>
<p>This avoids a race where the server is unprepared if the client sends
data immediately after having received the upgrade response.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the channel is not complete and more processing is required,
typically because sendError has been called.</dd>
</dl>
</li>
</ul>
<a id="onCompleted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onCompleted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onCompleted()</pre>
</li>
</ul>
<a id="onBadMessage(org.eclipse.jetty.http.BadMessageException)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onBadMessage</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onBadMessage&#8203;(<a href="../http/BadMessageException.html" title="class in org.eclipse.jetty.http">BadMessageException</a>&nbsp;failure)</pre>
</li>
</ul>
<a id="sendResponse(org.eclipse.jetty.http.MetaData.Response,java.nio.ByteBuffer,boolean,org.eclipse.jetty.util.Callback)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendResponse</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;sendResponse&#8203;(<a href="../http/MetaData.Response.html" title="class in org.eclipse.jetty.http">MetaData.Response</a>&nbsp;response,
java.nio.ByteBuffer&nbsp;content,
boolean&nbsp;complete,
<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</pre>
</li>
</ul>
<a id="sendResponse(org.eclipse.jetty.http.MetaData.Response,java.nio.ByteBuffer,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendResponse</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;sendResponse&#8203;(<a href="../http/MetaData.Response.html" title="class in org.eclipse.jetty.http">MetaData.Response</a>&nbsp;info,
java.nio.ByteBuffer&nbsp;content,
boolean&nbsp;complete)
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="commit(org.eclipse.jetty.http.MetaData.Response)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>commit</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;commit&#8203;(<a href="../http/MetaData.Response.html" title="class in org.eclipse.jetty.http">MetaData.Response</a>&nbsp;info)</pre>
</li>
</ul>
<a id="isCommitted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCommitted</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isCommitted()</pre>
</li>
</ul>
<a id="isRequestCompleted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRequestCompleted</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isRequestCompleted()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the request lifecycle is completed</dd>
</dl>
</li>
</ul>
<a id="isResponseCompleted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isResponseCompleted</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isResponseCompleted()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the response is completely written.</dd>
</dl>
</li>
</ul>
<a id="isPersistent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPersistent</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isPersistent()</pre>
</li>
</ul>
<a id="write(java.nio.ByteBuffer,boolean,org.eclipse.jetty.util.Callback)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;write&#8203;(java.nio.ByteBuffer&nbsp;content,
boolean&nbsp;complete,
<a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</pre>
<div class="block"><p>Non-Blocking write, committing the response if needed.</p>
Called as last link in HttpOutput.Filter chain</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HttpOutput.Interceptor.html#write(java.nio.ByteBuffer,boolean,org.eclipse.jetty.util.Callback)">write</a></code>&nbsp;in interface&nbsp;<code><a href="HttpOutput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpOutput.Interceptor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>content</code> - the content buffer to write</dd>
<dd><code>complete</code> - whether the content is complete for the response</dd>
<dd><code>callback</code> - Callback when complete or failed</dd>
</dl>
</li>
</ul>
<a id="resetBuffer()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetBuffer</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;resetBuffer()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="HttpOutput.Interceptor.html#resetBuffer()">HttpOutput.Interceptor</a></code></span></div>
<div class="block">Reset the buffers.
<p>If the Interceptor contains buffers then reset them.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HttpOutput.Interceptor.html#resetBuffer()">resetBuffer</a></code>&nbsp;in interface&nbsp;<code><a href="HttpOutput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpOutput.Interceptor</a></code></dd>
</dl>
</li>
</ul>
<a id="getNextInterceptor()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNextInterceptor</h4>
<pre class="methodSignature">public&nbsp;<a href="HttpOutput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpOutput.Interceptor</a>&nbsp;getNextInterceptor()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HttpOutput.Interceptor.html#getNextInterceptor()">getNextInterceptor</a></code>&nbsp;in interface&nbsp;<code><a href="HttpOutput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpOutput.Interceptor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The next Interceptor in the chain or null if this is the
last Interceptor in the chain.</dd>
</dl>
</li>
</ul>
<a id="execute(java.lang.Runnable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>execute</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;execute&#8203;(java.lang.Runnable&nbsp;task)</pre>
</li>
</ul>
<a id="getScheduler()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScheduler</h4>
<pre class="methodSignature">public&nbsp;<a href="../util/thread/Scheduler.html" title="interface in org.eclipse.jetty.util.thread">Scheduler</a>&nbsp;getScheduler()</pre>
</li>
</ul>
<a id="isUseOutputDirectByteBuffers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isUseOutputDirectByteBuffers</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isUseOutputDirectByteBuffers()</pre>
</li>
</ul>
<a id="abort(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>abort</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;abort&#8203;(java.lang.Throwable&nbsp;failure)</pre>
<div class="block">If a write or similar operation to this channel fails,
then this method should be called.
<p>
The standard implementation calls <a href="HttpTransport.html#abort(java.lang.Throwable)"><code>HttpTransport.abort(Throwable)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>failure</code> - the failure that caused the abort.</dd>
</dl>
</li>
</ul>
<a id="isTunnellingSupported()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTunnellingSupported</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isTunnellingSupported()</pre>
</li>
</ul>
<a id="getTunnellingEndPoint()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getTunnellingEndPoint</h4>
<pre class="methodSignature">public&nbsp;<a href="../io/EndPoint.html" title="interface in org.eclipse.jetty.io">EndPoint</a>&nbsp;getTunnellingEndPoint()</pre>
</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/HttpChannel.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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;2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>