blob: a30334812c092d21b140aa5a75c5b68956035da0 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Thu Sep 15 14:12:07 CDT 2022 -->
<title>FragmentExtension.FragmentingDemandingFlusher (Eclipse Jetty API Doc - v10.0.12)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-15">
<meta name="description" content="declaration: package: org.eclipse.jetty.websocket.core.internal, class: FragmentExtension, class: FragmentingDemandingFlusher">
<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/FragmentExtension.FragmentingDemandingFlusher.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li><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="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<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.websocket.core.internal</a></div>
<h1 title="Class FragmentExtension.FragmentingDemandingFlusher" class="title">Class FragmentExtension.FragmentingDemandingFlusher</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="../../../util/IteratingCallback.html" title="class in org.eclipse.jetty.util">org.eclipse.jetty.util.IteratingCallback</a>
<div class="inheritance"><a href="DemandingFlusher.html" title="class in org.eclipse.jetty.websocket.core.internal">org.eclipse.jetty.websocket.core.internal.DemandingFlusher</a>
<div class="inheritance">org.eclipse.jetty.websocket.core.internal.FragmentExtension.FragmentingDemandingFlusher</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a></code>, <code><a href="../../../util/thread/Invocable.html" title="interface in org.eclipse.jetty.util.thread">Invocable</a></code>, <code><a href="DemandChain.html" title="interface in org.eclipse.jetty.websocket.core.internal">DemandChain</a></code></dd>
</dl>
<dl class="notes">
<dt>Enclosing class:</dt>
<dd><a href="FragmentExtension.html" title="class in org.eclipse.jetty.websocket.core.internal">FragmentExtension</a></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">FragmentExtension.FragmentingDemandingFlusher</span>
<span class="extends-implements">extends <a href="DemandingFlusher.html" title="class in org.eclipse.jetty.websocket.core.internal">DemandingFlusher</a></span></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.util.IteratingCallback">Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.util.<a href="../../../util/IteratingCallback.html" title="class in org.eclipse.jetty.util">IteratingCallback</a></h2>
<code><a href="../../../util/IteratingCallback.Action.html" title="enum in org.eclipse.jetty.util">IteratingCallback.Action</a></code></div>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.util.Callback">Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.<a href="../../../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a></h2>
<code><a href="../../../util/Callback.Completable.html" title="class in org.eclipse.jetty.util">Callback.Completable</a>, <a href="../../../util/Callback.Completing.html" title="class in org.eclipse.jetty.util">Callback.Completing</a>, <a href="../../../util/Callback.Nested.html" title="class in org.eclipse.jetty.util">Callback.Nested</a></code></div>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.eclipse.jetty.util.thread.Invocable">Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.thread.<a href="../../../util/thread/Invocable.html" title="interface in org.eclipse.jetty.util.thread">Invocable</a></h2>
<code><a href="../../../util/thread/Invocable.InvocationType.html" title="enum in org.eclipse.jetty.util.thread">Invocable.InvocationType</a>, <a href="../../../util/thread/Invocable.ReadyTask.html" title="class in org.eclipse.jetty.util.thread">Invocable.ReadyTask</a>, <a href="../../../util/thread/Invocable.Task.html" title="interface in org.eclipse.jetty.util.thread">Invocable.Task</a></code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.eclipse.jetty.util.Callback">Fields inherited from interface&nbsp;org.eclipse.jetty.util.<a href="../../../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a></h3>
<code><a href="../../../util/Callback.html#NOOP">NOOP</a></code></div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.eclipse.jetty.util.thread.Invocable">Fields inherited from interface&nbsp;org.eclipse.jetty.util.thread.<a href="../../../util/thread/Invocable.html" title="interface in org.eclipse.jetty.util.thread">Invocable</a></h3>
<code><a href="../../../util/thread/Invocable.html#__nonBlocking">__nonBlocking</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">FragmentingDemandingFlusher</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete 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-tab4"><code>protected boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handle(org.eclipse.jetty.websocket.core.Frame,org.eclipse.jetty.util.Callback,boolean)" class="member-name-link">handle</a><wbr>(<a href="../Frame.html" title="class in org.eclipse.jetty.websocket.core">Frame</a>&nbsp;frame,
<a href="../../../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback,
boolean&nbsp;first)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called when there is demand for a single frame to be produced.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.websocket.core.internal.DemandingFlusher">Methods inherited from class&nbsp;org.eclipse.jetty.websocket.core.internal.<a href="DemandingFlusher.html" title="class in org.eclipse.jetty.websocket.core.internal">DemandingFlusher</a></h3>
<code><a href="DemandingFlusher.html#closeFlusher()">closeFlusher</a>, <a href="DemandingFlusher.html#demand(long)">demand</a>, <a href="DemandingFlusher.html#emitFrame(org.eclipse.jetty.websocket.core.Frame,org.eclipse.jetty.util.Callback)">emitFrame</a>, <a href="DemandingFlusher.html#failFlusher(java.lang.Throwable)">failFlusher</a>, <a href="DemandingFlusher.html#onCompleteFailure(java.lang.Throwable)">onCompleteFailure</a>, <a href="DemandingFlusher.html#onFrame(org.eclipse.jetty.websocket.core.Frame,org.eclipse.jetty.util.Callback)">onFrame</a>, <a href="DemandingFlusher.html#process()">process</a>, <a href="DemandingFlusher.html#setNextDemand(java.util.function.LongConsumer)">setNextDemand</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.IteratingCallback">Methods inherited from class&nbsp;org.eclipse.jetty.util.<a href="../../../util/IteratingCallback.html" title="class in org.eclipse.jetty.util">IteratingCallback</a></h3>
<code><a href="../../../util/IteratingCallback.html#close()">close</a>, <a href="../../../util/IteratingCallback.html#failed(java.lang.Throwable)">failed</a>, <a href="../../../util/IteratingCallback.html#isClosed()">isClosed</a>, <a href="../../../util/IteratingCallback.html#isFailed()">isFailed</a>, <a href="../../../util/IteratingCallback.html#isSucceeded()">isSucceeded</a>, <a href="../../../util/IteratingCallback.html#iterate()">iterate</a>, <a href="../../../util/IteratingCallback.html#onCompleteSuccess()">onCompleteSuccess</a>, <a href="../../../util/IteratingCallback.html#reset()">reset</a>, <a href="../../../util/IteratingCallback.html#succeeded()">succeeded</a>, <a href="../../../util/IteratingCallback.html#toString()">toString</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.Callback">Methods inherited from interface&nbsp;org.eclipse.jetty.util.<a href="../../../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a></h3>
<code><a href="../../../util/Callback.html#completeWith(java.util.concurrent.CompletableFuture)">completeWith</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.eclipse.jetty.util.thread.Invocable">Methods inherited from interface&nbsp;org.eclipse.jetty.util.thread.<a href="../../../util/thread/Invocable.html" title="interface in org.eclipse.jetty.util.thread">Invocable</a></h3>
<code><a href="../../../util/thread/Invocable.html#getInvocationType()">getInvocationType</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>FragmentingDemandingFlusher</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">FragmentingDemandingFlusher</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="handle(org.eclipse.jetty.websocket.core.Frame,org.eclipse.jetty.util.Callback,boolean)">
<h3>handle</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">handle</span><wbr><span class="parameters">(<a href="../Frame.html" title="class in org.eclipse.jetty.websocket.core">Frame</a>&nbsp;frame,
<a href="../../../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback,
boolean&nbsp;first)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="DemandingFlusher.html#handle(org.eclipse.jetty.websocket.core.Frame,org.eclipse.jetty.util.Callback,boolean)">DemandingFlusher</a></code></span></div>
<div class="block"><p>Called when there is demand for a single frame to be produced. During this method a single call can be made
to <a href="DemandingFlusher.html#emitFrame(org.eclipse.jetty.websocket.core.Frame,org.eclipse.jetty.util.Callback)"><code>DemandingFlusher.emitFrame(Frame, Callback)</code></a> which will forward this frame towards the application. Returning true
from this method signals that you are done processing the current Frame, and the next invocation of this
method will have the next frame.</p>
<p>Note that the callback supplied here is specially wrapped so that you can call
it multiple times and it will not be completed more than once. This simplifies the
handling of failure cases.</p></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="DemandingFlusher.html#handle(org.eclipse.jetty.websocket.core.Frame,org.eclipse.jetty.util.Callback,boolean)">handle</a></code>&nbsp;in class&nbsp;<code><a href="DemandingFlusher.html" title="class in org.eclipse.jetty.websocket.core.internal">DemandingFlusher</a></code></dd>
<dt>Parameters:</dt>
<dd><code>frame</code> - the original frame.</dd>
<dd><code>callback</code> - to succeed to release the frame payload.</dd>
<dd><code>first</code> - if this is the first time this method has been called for this frame.</dd>
<dt>Returns:</dt>
<dd>false to continue processing this frame, true to complete processing and get a new frame.</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>