blob: e572fd801754e195c7583e4b5015f02f9e3dc61c [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.10) on Fri Feb 26 09:50:23 CST 2021 -->
<title>HttpChannel (Jetty :: Project 9.4.38.v20210224 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-02-26">
<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 (Jetty :: Project 9.4.38.v20210224 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":42,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"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":10,"i48":10,"i49":10,"i50":10,"i51":42,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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 = false;
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 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="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 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="i4" class="altColor">
<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="i5" class="rowColor">
<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="i6" 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="i7" class="rowColor">
<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="i8" class="altColor">
<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="i9" class="rowColor">
<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="i10" class="altColor">
<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="i11" class="rowColor">
<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="i12" class="altColor">
<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="i13" class="rowColor">
<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="i14" class="altColor">
<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="i15" class="rowColor">
<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="i16" class="altColor">
<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="i17" class="rowColor">
<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="i18" class="altColor">
<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="i19" class="rowColor">
<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="i20" class="altColor">
<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="i21" class="rowColor">
<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="i22" class="altColor">
<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="i23" class="rowColor">
<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="i24" class="altColor">
<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="i25" 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="i26" 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="i27" class="rowColor">
<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="i28" class="altColor">
<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="i29" class="rowColor">
<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="i30" class="altColor">
<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="i31" class="rowColor">
<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="i32" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isOptimizedForDirectBuffers()">isOptimizedForDirectBuffers</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" 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="i34" 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="i35" 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="i36" 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="i37" class="rowColor">
<td class="colFirst"><code>protected <a href="HttpInput.html" title="class in org.eclipse.jetty.server">HttpInput</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newHttpInput(org.eclipse.jetty.server.HttpChannelState)">newHttpInput</a></span>&#8203;(<a href="HttpChannelState.html" title="class in org.eclipse.jetty.server">HttpChannelState</a>&nbsp;state)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i38" 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="i39" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onAsyncWaitForContent()">onAsyncWaitForContent</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<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="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onBlockWaitForContent()">onBlockWaitForContent</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onBlockWaitForContentFailure(java.lang.Throwable)">onBlockWaitForContentFailure</a></span>&#8203;(java.lang.Throwable&nbsp;failure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<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="i44" class="altColor">
<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="i45" class="rowColor">
<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="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onEarlyEOF()">onEarlyEOF</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i47" 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="i48" 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="i49" 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="class in org.eclipse.jetty.http">HttpFields</a>&nbsp;trailers)</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="#recycle()">recycle</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="#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="i52" class="altColor">
<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="i53" class="rowColor">
<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="i54" 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="i55" class="rowColor">
<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,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;info,
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="i56" 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="i57" 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="i58" 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="i59" 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="i60" 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="i61" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#useDirectBuffers()">useDirectBuffers</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i62" class="altColor">
<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="newHttpInput(org.eclipse.jetty.server.HttpChannelState)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newHttpInput</h4>
<pre class="methodSignature">protected&nbsp;<a href="HttpInput.html" title="class in org.eclipse.jetty.server">HttpInput</a>&nbsp;newHttpInput&#8203;(<a href="HttpChannelState.html" title="class in org.eclipse.jetty.server">HttpChannelState</a>&nbsp;state)</pre>
</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> - </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="isOptimizedForDirectBuffers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOptimizedForDirectBuffers</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isOptimizedForDirectBuffers()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="HttpOutput.Interceptor.html#isOptimizedForDirectBuffers()">isOptimizedForDirectBuffers</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>True if the Interceptor is optimized to receive direct
<code>ByteBuffer</code>s in the <a href="HttpOutput.Interceptor.html#write(java.nio.ByteBuffer,boolean,org.eclipse.jetty.util.Callback)"><code>HttpOutput.Interceptor.write(ByteBuffer, boolean, Callback)</code></a>
method. If false is returned, then passing direct buffers may cause
inefficiencies.</dd>
</dl>
</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="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="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="onAsyncWaitForContent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onAsyncWaitForContent</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onAsyncWaitForContent()</pre>
</li>
</ul>
<a id="onBlockWaitForContent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onBlockWaitForContent</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onBlockWaitForContent()</pre>
</li>
</ul>
<a id="onBlockWaitForContentFailure(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onBlockWaitForContentFailure</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onBlockWaitForContentFailure&#8203;(java.lang.Throwable&nbsp;failure)</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="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="class 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="onCompleted()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onCompleted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onCompleted()</pre>
</li>
</ul>
<a id="onEarlyEOF()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onEarlyEOF</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;onEarlyEOF()</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">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,
<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="useDirectBuffers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>useDirectBuffers</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;useDirectBuffers()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the HttpChannel can efficiently use direct buffer (typically this means it is not over SSL or a multiplexed protocol)</dd>
</dl>
</li>
</ul>
<a id="abort(java.lang.Throwable)">
<!-- -->
</a>
<ul class="blockListLast">
<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>
</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;2021 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>