<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.10) on Tue Mar 30 10:48:34 CDT 2021 -->
<title>BufferingFlowControlStrategy (Eclipse Jetty API Doc - v11.0.2)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-03-30">
<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="BufferingFlowControlStrategy (Eclipse Jetty API Doc - v11.0.2)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BufferingFlowControlStrategy.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>Field&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.http2</a></div>
<h2 title="Class BufferingFlowControlStrategy" class="title">Class BufferingFlowControlStrategy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="AbstractFlowControlStrategy.html" title="class in org.eclipse.jetty.http2">org.eclipse.jetty.http2.AbstractFlowControlStrategy</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.http2.BufferingFlowControlStrategy</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="FlowControlStrategy.html" title="interface in org.eclipse.jetty.http2">FlowControlStrategy</a></code>, <code><a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code></dd>
</dl>
<hr>
<pre><a href="../util/annotation/ManagedObject.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedObject</a>
public class <span class="typeNameLabel">BufferingFlowControlStrategy</span>
extends <a href="AbstractFlowControlStrategy.html" title="class in org.eclipse.jetty.http2">AbstractFlowControlStrategy</a></pre>
<div class="block"><p>A flow control strategy that accumulates updates and emits window control
 frames when the accumulated value reaches a threshold.</p>
 <p>The sender flow control window is represented in the receiver as two
 buckets: a bigger bucket, initially full, that is drained when data is
 received, and a smaller bucket, initially empty, that is filled when data is
 consumed. Only the smaller bucket can refill the bigger bucket.</p>
 <p>The smaller bucket is defined as a fraction of the bigger bucket.</p>
 <p>For a more visual representation, see the
 <a href="http://en.wikipedia.org/wiki/Shishi-odoshi">rocking bamboo fountain</a>,
 where the bamboo is the smaller bucket and the pool is the bigger bucket.</p>
 <p>The algorithm works in this way.</p>
 <p>The initial bigger bucket (BB) capacity is 100, and let's imagine the smaller
 bucket (SB) being 40% of the bigger bucket: 40.</p>
 <p>The receiver receives a data frame of 60, so now BB=40; the data frame is
 passed to the application that consumes 25, so now SB=25. Since SB is not full,
 no window control frames are emitted.</p>
 <p>The application consumes other 20, so now SB=45. Since SB is full, its 45
 are transferred to BB, which is now BB=85, and a window control frame is sent
 with delta=45.</p>
 <p>The application consumes the remaining 15, so now SB=15, and no window
 control frame is emitted.</p>
 <p>The <code>bufferRatio</code> controls how often the window control frame is
 emitted.</p>
 <p>A <code>bufferRatio=0.0</code> means that a window control frame is emitted
 every time the application consumes a data frame. This may result in too many
 window control frames be emitted, but may allow the sender to avoid stalling.</p>
 <p>A <code>bufferRatio=1.0</code> means that a window control frame is emitted
 only when the application has consumed a whole window. This minimizes the
 number of window control frames emitted, but may cause the sender to stall,
 waiting for the window control frame.</p>
 <p>The default value is <code>bufferRatio=0.5</code>.</p></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>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.http2.FlowControlStrategy">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.http2.<a href="FlowControlStrategy.html" title="interface in org.eclipse.jetty.http2">FlowControlStrategy</a></h3>
<code><a href="FlowControlStrategy.Factory.html" title="interface in org.eclipse.jetty.http2">FlowControlStrategy.Factory</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.http2.AbstractFlowControlStrategy">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.http2.<a href="AbstractFlowControlStrategy.html" title="class in org.eclipse.jetty.http2">AbstractFlowControlStrategy</a></h3>
<code><a href="AbstractFlowControlStrategy.html#LOG">LOG</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../util/component/Dumpable.html#KEY">KEY</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.http2.FlowControlStrategy">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.jetty.http2.<a href="FlowControlStrategy.html" title="interface in org.eclipse.jetty.http2">FlowControlStrategy</a></h3>
<code><a href="FlowControlStrategy.html#DEFAULT_WINDOW_SIZE">DEFAULT_WINDOW_SIZE</a></code></li>
</ul>
</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(float)">BufferingFlowControlStrategy</a></span>&#8203;(float&nbsp;bufferRatio)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int,float)">BufferingFlowControlStrategy</a></span>&#8203;(int&nbsp;initialStreamSendWindow,
                            float&nbsp;bufferRatio)</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></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>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBufferRatio()">getBufferRatio</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onDataConsumed(org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.IStream,int)">onDataConsumed</a></span>&#8203;(<a href="ISession.html" title="interface in org.eclipse.jetty.http2">ISession</a>&nbsp;session,
              <a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
              int&nbsp;length)</code></th>
<td class="colLast">&nbsp;</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="#onStreamCreated(org.eclipse.jetty.http2.IStream)">onStreamCreated</a></span>&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onStreamDestroyed(org.eclipse.jetty.http2.IStream)">onStreamDestroyed</a></span>&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendWindowUpdate(org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">sendWindowUpdate</a></span>&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
                <a href="ISession.html" title="interface in org.eclipse.jetty.http2">ISession</a>&nbsp;session,
                <a href="frames/WindowUpdateFrame.html" title="class in org.eclipse.jetty.http2.frames">WindowUpdateFrame</a>&nbsp;frame)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBufferRatio(float)">setBufferRatio</a></span>&#8203;(float&nbsp;bufferRatio)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<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="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#windowUpdate(org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">windowUpdate</a></span>&#8203;(<a href="ISession.html" title="interface in org.eclipse.jetty.http2">ISession</a>&nbsp;session,
            <a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
            <a href="frames/WindowUpdateFrame.html" title="class in org.eclipse.jetty.http2.frames">WindowUpdateFrame</a>&nbsp;frame)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.http2.AbstractFlowControlStrategy">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.http2.<a href="AbstractFlowControlStrategy.html" title="class in org.eclipse.jetty.http2">AbstractFlowControlStrategy</a></h3>
<code><a href="AbstractFlowControlStrategy.html#dump()">dump</a>, <a href="AbstractFlowControlStrategy.html#dump(java.lang.Appendable,java.lang.String)">dump</a>, <a href="AbstractFlowControlStrategy.html#getInitialStreamRecvWindow()">getInitialStreamRecvWindow</a>, <a href="AbstractFlowControlStrategy.html#getInitialStreamSendWindow()">getInitialStreamSendWindow</a>, <a href="AbstractFlowControlStrategy.html#getSessionStallTime()">getSessionStallTime</a>, <a href="AbstractFlowControlStrategy.html#getStreamsStallTime()">getStreamsStallTime</a>, <a href="AbstractFlowControlStrategy.html#onDataReceived(org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.IStream,int)">onDataReceived</a>, <a href="AbstractFlowControlStrategy.html#onDataSending(org.eclipse.jetty.http2.IStream,int)">onDataSending</a>, <a href="AbstractFlowControlStrategy.html#onDataSent(org.eclipse.jetty.http2.IStream,int)">onDataSent</a>, <a href="AbstractFlowControlStrategy.html#onSessionStalled(org.eclipse.jetty.http2.ISession)">onSessionStalled</a>, <a href="AbstractFlowControlStrategy.html#onSessionUnstalled(org.eclipse.jetty.http2.ISession)">onSessionUnstalled</a>, <a href="AbstractFlowControlStrategy.html#onStreamStalled(org.eclipse.jetty.http2.IStream)">onStreamStalled</a>, <a href="AbstractFlowControlStrategy.html#onStreamUnstalled(org.eclipse.jetty.http2.IStream)">onStreamUnstalled</a>, <a href="AbstractFlowControlStrategy.html#onWindowUpdate(org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">onWindowUpdate</a>, <a href="AbstractFlowControlStrategy.html#reset()">reset</a>, <a href="AbstractFlowControlStrategy.html#updateInitialStreamWindow(org.eclipse.jetty.http2.ISession,int,boolean)">updateInitialStreamWindow</a></code></li>
</ul>
<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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../util/component/Dumpable.html#dumpSelf()">dumpSelf</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= 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;(float)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BufferingFlowControlStrategy</h4>
<pre>public&nbsp;BufferingFlowControlStrategy&#8203;(float&nbsp;bufferRatio)</pre>
</li>
</ul>
<a id="&lt;init&gt;(int,float)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BufferingFlowControlStrategy</h4>
<pre>public&nbsp;BufferingFlowControlStrategy&#8203;(int&nbsp;initialStreamSendWindow,
                                    float&nbsp;bufferRatio)</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="getBufferRatio()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBufferRatio</h4>
<pre class="methodSignature"><a href="../util/annotation/ManagedAttribute.html" title="annotation in org.eclipse.jetty.util.annotation">@ManagedAttribute</a>("The ratio between the receive buffer and the consume buffer")
public&nbsp;float&nbsp;getBufferRatio()</pre>
</li>
</ul>
<a id="setBufferRatio(float)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBufferRatio</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setBufferRatio&#8203;(float&nbsp;bufferRatio)</pre>
</li>
</ul>
<a id="onStreamCreated(org.eclipse.jetty.http2.IStream)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onStreamCreated</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onStreamCreated&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="FlowControlStrategy.html#onStreamCreated(org.eclipse.jetty.http2.IStream)">onStreamCreated</a></code>&nbsp;in interface&nbsp;<code><a href="FlowControlStrategy.html" title="interface in org.eclipse.jetty.http2">FlowControlStrategy</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractFlowControlStrategy.html#onStreamCreated(org.eclipse.jetty.http2.IStream)">onStreamCreated</a></code>&nbsp;in class&nbsp;<code><a href="AbstractFlowControlStrategy.html" title="class in org.eclipse.jetty.http2">AbstractFlowControlStrategy</a></code></dd>
</dl>
</li>
</ul>
<a id="onStreamDestroyed(org.eclipse.jetty.http2.IStream)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onStreamDestroyed</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onStreamDestroyed&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="FlowControlStrategy.html#onStreamDestroyed(org.eclipse.jetty.http2.IStream)">onStreamDestroyed</a></code>&nbsp;in interface&nbsp;<code><a href="FlowControlStrategy.html" title="interface in org.eclipse.jetty.http2">FlowControlStrategy</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractFlowControlStrategy.html#onStreamDestroyed(org.eclipse.jetty.http2.IStream)">onStreamDestroyed</a></code>&nbsp;in class&nbsp;<code><a href="AbstractFlowControlStrategy.html" title="class in org.eclipse.jetty.http2">AbstractFlowControlStrategy</a></code></dd>
</dl>
</li>
</ul>
<a id="onDataConsumed(org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.IStream,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onDataConsumed</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;onDataConsumed&#8203;(<a href="ISession.html" title="interface in org.eclipse.jetty.http2">ISession</a>&nbsp;session,
                           <a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
                           int&nbsp;length)</pre>
</li>
</ul>
<a id="sendWindowUpdate(org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendWindowUpdate</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;sendWindowUpdate&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
                                <a href="ISession.html" title="interface in org.eclipse.jetty.http2">ISession</a>&nbsp;session,
                                <a href="frames/WindowUpdateFrame.html" title="class in org.eclipse.jetty.http2.frames">WindowUpdateFrame</a>&nbsp;frame)</pre>
</li>
</ul>
<a id="windowUpdate(org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>windowUpdate</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;windowUpdate&#8203;(<a href="ISession.html" title="interface in org.eclipse.jetty.http2">ISession</a>&nbsp;session,
                         <a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
                         <a href="frames/WindowUpdateFrame.html" title="class in org.eclipse.jetty.http2.frames">WindowUpdateFrame</a>&nbsp;frame)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="FlowControlStrategy.html#windowUpdate(org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">windowUpdate</a></code>&nbsp;in interface&nbsp;<code><a href="FlowControlStrategy.html" title="interface in org.eclipse.jetty.http2">FlowControlStrategy</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AbstractFlowControlStrategy.html#windowUpdate(org.eclipse.jetty.http2.ISession,org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">windowUpdate</a></code>&nbsp;in class&nbsp;<code><a href="AbstractFlowControlStrategy.html" title="class in org.eclipse.jetty.http2">AbstractFlowControlStrategy</a></code></dd>
</dl>
</li>
</ul>
<a id="toString()">
<!--   -->
</a>
<ul class="blockListLast">
<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>
</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/BufferingFlowControlStrategy.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>Field&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>
