blob: 0355ad9becae87c5f6d3554e94174a313145404b [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Thu Sep 15 14:13:16 CDT 2022 -->
<title>ContentProducer (Eclipse Jetty API Doc - v11.0.12)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-15">
<meta name="description" content="declaration: package: org.eclipse.jetty.server, interface: ContentProducer">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/ContentProducer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.jetty.server</a></div>
<h1 title="Interface ContentProducer" class="title">Interface ContentProducer</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ContentProducer</span></div>
<div class="block">ContentProducer is the bridge between <a href="HttpInput.html" title="class in org.eclipse.jetty.server"><code>HttpInput</code></a> and <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.
It wraps a <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a> and uses the <a href="HttpChannel.html#needContent()"><code>HttpChannel.needContent()</code></a>,
<a href="HttpChannel.html#produceContent()"><code>HttpChannel.produceContent()</code></a> and <a href="HttpChannel.html#failAllContent(java.lang.Throwable)"><code>HttpChannel.failAllContent(Throwable)</code></a>
methods, tracks the current state of the channel's input by updating the
<a href="HttpChannelState.html" title="class in org.eclipse.jetty.server"><code>HttpChannelState</code></a> and provides the necessary mechanism to unblock
the reader thread when using a blocking implementation or to know if the reader thread
has to be rescheduled when using an async implementation.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#available()" class="member-name-link">available</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the byte count that can immediately be read from this
<a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance or the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#checkMinDataRate()" class="member-name-link">checkMinDataRate</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Check if the current data rate consumption is above the minimal rate.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#consumeAll()" class="member-name-link">consumeAll</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Fail all content currently available in this <a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance
as well as in the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="HttpInput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpInput.Interceptor</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getInterceptor()" class="member-name-link">getInterceptor</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the <a href="HttpInput.Interceptor.html" title="interface in org.eclipse.jetty.server"><code>HttpInput.Interceptor</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRawContentArrived()" class="member-name-link">getRawContentArrived</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the byte count produced by the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasContent()" class="member-name-link">hasContent</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Check if this <a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance contains some
content without querying the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isError()" class="member-name-link">isError</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Check if the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a> reached an error content.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isReady()" class="member-name-link">isReady</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Check if this <a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance has some content that can be read without blocking.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../util/thread/AutoLock.html" title="class in org.eclipse.jetty.util.thread">AutoLock</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#lock()" class="member-name-link">lock</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Lock this instance.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server">HttpInput.Content</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#nextContent()" class="member-name-link">nextContent</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Get the next content that can be read from or that describes the special condition
that was reached (error, eof).</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#onContentProducible()" class="member-name-link">onContentProducible</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Wake up the thread that is waiting for the next content.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#reclaim(org.eclipse.jetty.server.HttpInput.Content)" class="member-name-link">reclaim</a><wbr>(<a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server">HttpInput.Content</a>&nbsp;content)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Free up the content by calling <a href="../util/Callback.html#succeeded()"><code>Callback.succeeded()</code></a> on it
and updating this instance' internal state.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#recycle()" class="member-name-link">recycle</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Clear the interceptor and call <a href="../util/component/Destroyable.html#destroy()"><code>Destroyable.destroy()</code></a> on it if it implements <a href="../util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component"><code>Destroyable</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#reopen()" class="member-name-link">reopen</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Reset all internal state, making this is instance logically equivalent to a freshly allocated one.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setInterceptor(org.eclipse.jetty.server.HttpInput.Interceptor)" class="member-name-link">setInterceptor</a><wbr>(<a href="HttpInput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpInput.Interceptor</a>&nbsp;interceptor)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Set the interceptor.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="lock()">
<h3>lock</h3>
<div class="member-signature"><span class="return-type"><a href="../util/thread/AutoLock.html" title="class in org.eclipse.jetty.util.thread">AutoLock</a></span>&nbsp;<span class="element-name">lock</span>()</div>
<div class="block">Lock this instance. The lock must be held before any of this instance's
method can be called, and must be released afterward.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the lock that is guarding this instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="recycle()">
<h3>recycle</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">recycle</span>()</div>
<div class="block">Clear the interceptor and call <a href="../util/component/Destroyable.html#destroy()"><code>Destroyable.destroy()</code></a> on it if it implements <a href="../util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component"><code>Destroyable</code></a>.
A recycled <a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> will only produce special content with a non-null error until
<a href="#reopen()"><code>reopen()</code></a> is called.</div>
</section>
</li>
<li>
<section class="detail" id="reopen()">
<h3>reopen</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">reopen</span>()</div>
<div class="block">Reset all internal state, making this is instance logically equivalent to a freshly allocated one.</div>
</section>
</li>
<li>
<section class="detail" id="consumeAll()">
<h3>consumeAll</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">consumeAll</span>()</div>
<div class="block">Fail all content currently available in this <a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance
as well as in the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.
This call is always non-blocking.
Doesn't change state.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if EOF was reached.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="checkMinDataRate()">
<h3>checkMinDataRate</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">checkMinDataRate</span>()</div>
<div class="block">Check if the current data rate consumption is above the minimal rate.
Abort the channel, fail the content currently available and throw a
BadMessageException(REQUEST_TIMEOUT_408) if the check fails.</div>
</section>
</li>
<li>
<section class="detail" id="getRawContentArrived()">
<h3>getRawContentArrived</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name">getRawContentArrived</span>()</div>
<div class="block">Get the byte count produced by the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.
This call is always non-blocking.
Doesn't change state.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the byte count produced by the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="available()">
<h3>available</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">available</span>()</div>
<div class="block">Get the byte count that can immediately be read from this
<a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance or the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.
This call is always non-blocking.
Doesn't change state.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the available byte count.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasContent()">
<h3>hasContent</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">hasContent</span>()</div>
<div class="block">Check if this <a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance contains some
content without querying the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a>.
This call is always non-blocking.
Doesn't change state.
Doesn't query the HttpChannel.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if this <a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance contains content, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isError()">
<h3>isError</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isError</span>()</div>
<div class="block">Check if the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a> reached an error content.
This call is always non-blocking.
Doesn't change state.
Doesn't query the HttpChannel.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the underlying <a href="HttpChannel.html" title="class in org.eclipse.jetty.server"><code>HttpChannel</code></a> reached an error content, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="nextContent()">
<h3>nextContent</h3>
<div class="member-signature"><span class="return-type"><a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server">HttpInput.Content</a></span>&nbsp;<span class="element-name">nextContent</span>()</div>
<div class="block">Get the next content that can be read from or that describes the special condition
that was reached (error, eof).
This call may or may not block until some content is available, depending on the implementation.
The returned content is decoded by the interceptor set with <a href="#setInterceptor(org.eclipse.jetty.server.HttpInput.Interceptor)"><code>setInterceptor(HttpInput.Interceptor)</code></a>
or left as-is if no intercept is set.
After this call, state can be either of UNREADY or IDLE.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the next content that can be read from or null if the implementation does not block
and has no available content.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="reclaim(org.eclipse.jetty.server.HttpInput.Content)">
<h3>reclaim</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">reclaim</span><wbr><span class="parameters">(<a href="HttpInput.Content.html" title="class in org.eclipse.jetty.server">HttpInput.Content</a>&nbsp;content)</span></div>
<div class="block">Free up the content by calling <a href="../util/Callback.html#succeeded()"><code>Callback.succeeded()</code></a> on it
and updating this instance' internal state.</div>
</section>
</li>
<li>
<section class="detail" id="isReady()">
<h3>isReady</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isReady</span>()</div>
<div class="block">Check if this <a href="ContentProducer.html" title="interface in org.eclipse.jetty.server"><code>ContentProducer</code></a> instance has some content that can be read without blocking.
If there is some, the next call to <a href="#nextContent()"><code>nextContent()</code></a> will not block.
If there isn't any and the implementation does not block, this method will trigger a
<code>ReadListener</code> callback once some content is available.
This call is always non-blocking.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if some content is immediately available, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getInterceptor()">
<h3>getInterceptor</h3>
<div class="member-signature"><span class="return-type"><a href="HttpInput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpInput.Interceptor</a></span>&nbsp;<span class="element-name">getInterceptor</span>()</div>
<div class="block">Get the <a href="HttpInput.Interceptor.html" title="interface in org.eclipse.jetty.server"><code>HttpInput.Interceptor</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The <a href="HttpInput.Interceptor.html" title="interface in org.eclipse.jetty.server"><code>HttpInput.Interceptor</code></a>, or null if none set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setInterceptor(org.eclipse.jetty.server.HttpInput.Interceptor)">
<h3>setInterceptor</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">setInterceptor</span><wbr><span class="parameters">(<a href="HttpInput.Interceptor.html" title="interface in org.eclipse.jetty.server">HttpInput.Interceptor</a>&nbsp;interceptor)</span></div>
<div class="block">Set the interceptor.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>interceptor</code> - The interceptor to use.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="onContentProducible()">
<h3>onContentProducible</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">onContentProducible</span>()</div>
<div class="block">Wake up the thread that is waiting for the next content.
After this call, state can be READY.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the thread has to be rescheduled, false otherwise.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 1995&#x2013;2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>