<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.11) on Wed Jul 07 10:58:44 EDT 2021 -->
<title>ISession (Eclipse Jetty API Doc - v11.0.6)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-07-07">
<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="ISession (Eclipse Jetty API Doc - v11.0.6)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/ISession.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>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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="Interface ISession" class="title">Interface ISession</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="api/Session.html" title="interface in org.eclipse.jetty.http2.api">Session</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="client/HTTP2ClientSession.html" title="class in org.eclipse.jetty.http2.client">HTTP2ClientSession</a></code>, <code><a href="server/HTTP2ServerSession.html" title="class in org.eclipse.jetty.http2.server">HTTP2ServerSession</a></code>, <code><a href="HTTP2Session.html" title="class in org.eclipse.jetty.http2">HTTP2Session</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ISession</span>
extends <a href="api/Session.html" title="interface in org.eclipse.jetty.http2.api">Session</a></pre>
<div class="block"><p>The SPI interface for implementing an HTTP/2 session.</p>
 <p>This class extends <a href="api/Session.html" title="interface in org.eclipse.jetty.http2.api"><code>Session</code></a> by adding the methods required to
 implement the HTTP/2 session functionalities.</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.http2.api.Session">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.http2.api.<a href="api/Session.html" title="interface in org.eclipse.jetty.http2.api">Session</a></h3>
<code><a href="api/Session.Listener.html" title="interface in org.eclipse.jetty.http2.api">Session.Listener</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></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="#data(org.eclipse.jetty.http2.IStream,org.eclipse.jetty.util.Callback,org.eclipse.jetty.http2.frames.DataFrame)">data</a></span>&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
    <a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback,
    <a href="frames/DataFrame.html" title="class in org.eclipse.jetty.http2.frames">DataFrame</a>&nbsp;frame)</code></th>
<td class="colLast">
<div class="block">Enqueues the given DATA frame to be written to the connection.</div>
</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="#frames(org.eclipse.jetty.http2.IStream,java.util.List,org.eclipse.jetty.util.Callback)">frames</a></span>&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
      java.util.List&lt;? extends <a href="frames/Frame.html" title="class in org.eclipse.jetty.http2.frames">Frame</a>&gt;&nbsp;frames,
      <a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Enqueues the given frames to be written to the connection.</div>
</td>
</tr>
<tr id="i2" 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="i3" class="rowColor">
<td class="colFirst"><code><a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStream(int)">getStream</a></span>&#8203;(int&nbsp;streamId)</code></th>
<td class="colLast">
<div class="block">Retrieves the stream with the given <code>streamId</code>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPushEnabled()">isPushEnabled</a></span>()</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="#newStream(org.eclipse.jetty.http2.IStream.FrameList,org.eclipse.jetty.util.Promise,org.eclipse.jetty.http2.api.Stream.Listener)">newStream</a></span>&#8203;(<a href="IStream.FrameList.html" title="class in org.eclipse.jetty.http2">IStream.FrameList</a>&nbsp;frames,
         <a href="../util/Promise.html" title="interface in org.eclipse.jetty.util">Promise</a>&lt;<a href="api/Stream.html" title="interface in org.eclipse.jetty.http2.api">Stream</a>&gt;&nbsp;promise,
         <a href="api/Stream.Listener.html" title="interface in org.eclipse.jetty.http2.api">Stream.Listener</a>&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">Sends the given list of frames to create a new <a href="api/Stream.html" title="interface in org.eclipse.jetty.http2.api"><code>Stream</code></a>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onData(org.eclipse.jetty.http2.frames.DataFrame,org.eclipse.jetty.util.Callback)">onData</a></span>&#8203;(<a href="frames/DataFrame.html" title="class in org.eclipse.jetty.http2.frames">DataFrame</a>&nbsp;frame,
      <a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Callback method invoked when a DATA frame is received.</div>
</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="#onFlushed(long)">onFlushed</a></span>&#8203;(long&nbsp;bytes)</code></th>
<td class="colLast">
<div class="block">Callback method invoked when bytes are flushed to the network.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onFrame(org.eclipse.jetty.http2.frames.Frame)">onFrame</a></span>&#8203;(<a href="frames/Frame.html" title="class in org.eclipse.jetty.http2.frames">Frame</a>&nbsp;frame)</code></th>
<td class="colLast">
<div class="block">Callback method invoked during an HTTP/1.1 to HTTP/2 upgrade requests
 to process the given synthetic frame.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onIdleTimeout()">onIdleTimeout</a></span>()</code></th>
<td class="colLast">
<div class="block">Callback invoked when the idle timeout expires.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onShutdown()">onShutdown</a></span>()</code></th>
<td class="colLast">
<div class="block">Callback invoked when the connection reads -1.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onWindowUpdate(org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">onWindowUpdate</a></span>&#8203;(<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">
<div class="block">Callback method invoked when a WINDOW_UPDATE frame has been received.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#push(org.eclipse.jetty.http2.IStream,org.eclipse.jetty.util.Promise,org.eclipse.jetty.http2.frames.PushPromiseFrame,org.eclipse.jetty.http2.api.Stream.Listener)">push</a></span>&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
    <a href="../util/Promise.html" title="interface in org.eclipse.jetty.util">Promise</a>&lt;<a href="api/Stream.html" title="interface in org.eclipse.jetty.http2.api">Stream</a>&gt;&nbsp;promise,
    <a href="frames/PushPromiseFrame.html" title="class in org.eclipse.jetty.http2.frames">PushPromiseFrame</a>&nbsp;frame,
    <a href="api/Stream.Listener.html" title="interface in org.eclipse.jetty.http2.api">Stream.Listener</a>&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">Enqueues the given PUSH_PROMISE frame to be written to the connection.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeStream(org.eclipse.jetty.http2.IStream)">removeStream</a></span>&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream)</code></th>
<td class="colLast">
<div class="block">Removes the given <code>stream</code>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shutdown()">shutdown</a></span>()</code></th>
<td class="colLast">
<div class="block">Gracefully closes the session, returning a <code>CompletableFuture</code> that
 is completed when all the streams currently being processed are completed.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateRecvWindow(int)">updateRecvWindow</a></span>&#8203;(int&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Updates the session receive window by the given <code>delta</code>.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateSendWindow(int)">updateSendWindow</a></span>&#8203;(int&nbsp;delta)</code></th>
<td class="colLast">
<div class="block">Updates the session send window by the given <code>delta</code>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.http2.api.Session">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.http2.api.<a href="api/Session.html" title="interface in org.eclipse.jetty.http2.api">Session</a></h3>
<code><a href="api/Session.html#close(int,java.lang.String,org.eclipse.jetty.util.Callback)">close</a>, <a href="api/Session.html#getLocalAddress()">getLocalAddress</a>, <a href="api/Session.html#getLocalSocketAddress()">getLocalSocketAddress</a>, <a href="api/Session.html#getRemoteAddress()">getRemoteAddress</a>, <a href="api/Session.html#getRemoteSocketAddress()">getRemoteSocketAddress</a>, <a href="api/Session.html#getStreams()">getStreams</a>, <a href="api/Session.html#isClosed()">isClosed</a>, <a href="api/Session.html#newStream(org.eclipse.jetty.http2.frames.HeadersFrame,org.eclipse.jetty.http2.api.Stream.Listener)">newStream</a>, <a href="api/Session.html#newStream(org.eclipse.jetty.http2.frames.HeadersFrame,org.eclipse.jetty.util.Promise,org.eclipse.jetty.http2.api.Stream.Listener)">newStream</a>, <a href="api/Session.html#ping(org.eclipse.jetty.http2.frames.PingFrame,org.eclipse.jetty.util.Callback)">ping</a>, <a href="api/Session.html#priority(org.eclipse.jetty.http2.frames.PriorityFrame,org.eclipse.jetty.util.Callback)">priority</a>, <a href="api/Session.html#settings(org.eclipse.jetty.http2.frames.SettingsFrame,org.eclipse.jetty.util.Callback)">settings</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getStream(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStream</h4>
<pre class="methodSignature"><a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;getStream&#8203;(int&nbsp;streamId)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="api/Session.html#getStream(int)">Session</a></code></span></div>
<div class="block"><p>Retrieves the stream with the given <code>streamId</code>.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="api/Session.html#getStream(int)">getStream</a></code>&nbsp;in interface&nbsp;<code><a href="api/Session.html" title="interface in org.eclipse.jetty.http2.api">Session</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>streamId</code> - the stream id of the stream looked for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the stream with the given id, or null if no such stream exist</dd>
</dl>
</li>
</ul>
<a id="removeStream(org.eclipse.jetty.http2.IStream)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeStream</h4>
<pre class="methodSignature">boolean&nbsp;removeStream&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream)</pre>
<div class="block"><p>Removes the given <code>stream</code>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stream</code> - the stream to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the stream was removed</dd>
</dl>
</li>
</ul>
<a id="newStream(org.eclipse.jetty.http2.IStream.FrameList,org.eclipse.jetty.util.Promise,org.eclipse.jetty.http2.api.Stream.Listener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>newStream</h4>
<pre class="methodSignature">void&nbsp;newStream&#8203;(<a href="IStream.FrameList.html" title="class in org.eclipse.jetty.http2">IStream.FrameList</a>&nbsp;frames,
               <a href="../util/Promise.html" title="interface in org.eclipse.jetty.util">Promise</a>&lt;<a href="api/Stream.html" title="interface in org.eclipse.jetty.http2.api">Stream</a>&gt;&nbsp;promise,
               <a href="api/Stream.Listener.html" title="interface in org.eclipse.jetty.http2.api">Stream.Listener</a>&nbsp;listener)</pre>
<div class="block"><p>Sends the given list of frames to create a new <a href="api/Stream.html" title="interface in org.eclipse.jetty.http2.api"><code>Stream</code></a>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>frames</code> - the list of frames to send</dd>
<dd><code>promise</code> - the promise that gets notified of the stream creation</dd>
<dd><code>listener</code> - the listener that gets notified of stream events</dd>
</dl>
</li>
</ul>
<a id="frames(org.eclipse.jetty.http2.IStream,java.util.List,org.eclipse.jetty.util.Callback)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>frames</h4>
<pre class="methodSignature">void&nbsp;frames&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
            java.util.List&lt;? extends <a href="frames/Frame.html" title="class in org.eclipse.jetty.http2.frames">Frame</a>&gt;&nbsp;frames,
            <a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</pre>
<div class="block"><p>Enqueues the given frames to be written to the connection.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stream</code> - the stream the frames belong to</dd>
<dd><code>frames</code> - the frames to enqueue</dd>
<dd><code>callback</code> - the callback that gets notified when the frames have been sent</dd>
</dl>
</li>
</ul>
<a id="push(org.eclipse.jetty.http2.IStream,org.eclipse.jetty.util.Promise,org.eclipse.jetty.http2.frames.PushPromiseFrame,org.eclipse.jetty.http2.api.Stream.Listener)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>push</h4>
<pre class="methodSignature">void&nbsp;push&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
          <a href="../util/Promise.html" title="interface in org.eclipse.jetty.util">Promise</a>&lt;<a href="api/Stream.html" title="interface in org.eclipse.jetty.http2.api">Stream</a>&gt;&nbsp;promise,
          <a href="frames/PushPromiseFrame.html" title="class in org.eclipse.jetty.http2.frames">PushPromiseFrame</a>&nbsp;frame,
          <a href="api/Stream.Listener.html" title="interface in org.eclipse.jetty.http2.api">Stream.Listener</a>&nbsp;listener)</pre>
<div class="block"><p>Enqueues the given PUSH_PROMISE frame to be written to the connection.</p>
 <p>Differently from <a href="#frames(org.eclipse.jetty.http2.IStream,java.util.List,org.eclipse.jetty.util.Callback)"><code>frames(IStream, List, Callback)</code></a>, this method
 generates atomically the stream id for the pushed stream.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stream</code> - the stream associated to the pushed stream</dd>
<dd><code>promise</code> - the promise that gets notified of the pushed stream creation</dd>
<dd><code>frame</code> - the PUSH_PROMISE frame to enqueue</dd>
<dd><code>listener</code> - the listener that gets notified of pushed stream events</dd>
</dl>
</li>
</ul>
<a id="data(org.eclipse.jetty.http2.IStream,org.eclipse.jetty.util.Callback,org.eclipse.jetty.http2.frames.DataFrame)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>data</h4>
<pre class="methodSignature">void&nbsp;data&#8203;(<a href="IStream.html" title="interface in org.eclipse.jetty.http2">IStream</a>&nbsp;stream,
          <a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback,
          <a href="frames/DataFrame.html" title="class in org.eclipse.jetty.http2.frames">DataFrame</a>&nbsp;frame)</pre>
<div class="block"><p>Enqueues the given DATA frame to be written to the connection.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stream</code> - the stream the data frame belongs to</dd>
<dd><code>callback</code> - the callback that gets notified when the frame has been sent</dd>
<dd><code>frame</code> - the DATA frame to send</dd>
</dl>
</li>
</ul>
<a id="updateSendWindow(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateSendWindow</h4>
<pre class="methodSignature">int&nbsp;updateSendWindow&#8203;(int&nbsp;delta)</pre>
<div class="block"><p>Updates the session send window by the given <code>delta</code>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>delta</code> - the delta value (positive or negative) to add to the session send window</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previous value of the session send window</dd>
</dl>
</li>
</ul>
<a id="updateRecvWindow(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateRecvWindow</h4>
<pre class="methodSignature">int&nbsp;updateRecvWindow&#8203;(int&nbsp;delta)</pre>
<div class="block"><p>Updates the session receive window by the given <code>delta</code>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>delta</code> - the delta value (positive or negative) to add to the session receive window</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the previous value of the session receive window</dd>
</dl>
</li>
</ul>
<a id="onWindowUpdate(org.eclipse.jetty.http2.IStream,org.eclipse.jetty.http2.frames.WindowUpdateFrame)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onWindowUpdate</h4>
<pre class="methodSignature">void&nbsp;onWindowUpdate&#8203;(<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>
<div class="block"><p>Callback method invoked when a WINDOW_UPDATE frame has been received.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>stream</code> - the stream the window update belongs to, or null if the window update belongs to the session</dd>
<dd><code>frame</code> - the WINDOW_UPDATE frame received</dd>
</dl>
</li>
</ul>
<a id="isPushEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPushEnabled</h4>
<pre class="methodSignature">boolean&nbsp;isPushEnabled()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>whether the push functionality is enabled</dd>
</dl>
</li>
</ul>
<a id="onShutdown()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onShutdown</h4>
<pre class="methodSignature">void&nbsp;onShutdown()</pre>
<div class="block"><p>Callback invoked when the connection reads -1.</p></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#onIdleTimeout()"><code>onIdleTimeout()</code></a>, 
<a href="api/Session.html#close(int,java.lang.String,org.eclipse.jetty.util.Callback)"><code>Session.close(int, String, Callback)</code></a></dd>
</dl>
</li>
</ul>
<a id="onIdleTimeout()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onIdleTimeout</h4>
<pre class="methodSignature">boolean&nbsp;onIdleTimeout()</pre>
<div class="block"><p>Callback invoked when the idle timeout expires.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if the session has expired</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#onShutdown()"><code>onShutdown()</code></a>, 
<a href="api/Session.html#close(int,java.lang.String,org.eclipse.jetty.util.Callback)"><code>Session.close(int, String, Callback)</code></a></dd>
</dl>
</li>
</ul>
<a id="onFrame(org.eclipse.jetty.http2.frames.Frame)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onFrame</h4>
<pre class="methodSignature">void&nbsp;onFrame&#8203;(<a href="frames/Frame.html" title="class in org.eclipse.jetty.http2.frames">Frame</a>&nbsp;frame)</pre>
<div class="block"><p>Callback method invoked during an HTTP/1.1 to HTTP/2 upgrade requests
 to process the given synthetic frame.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>frame</code> - the synthetic frame to process</dd>
</dl>
</li>
</ul>
<a id="onFlushed(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onFlushed</h4>
<pre class="methodSignature">void&nbsp;onFlushed&#8203;(long&nbsp;bytes)
        throws java.io.IOException</pre>
<div class="block"><p>Callback method invoked when bytes are flushed to the network.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bytes</code> - the number of bytes flushed to the network</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if the flush should fail</dd>
</dl>
</li>
</ul>
<a id="getBytesWritten()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBytesWritten</h4>
<pre class="methodSignature">long&nbsp;getBytesWritten()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes written by this session</dd>
</dl>
</li>
</ul>
<a id="onData(org.eclipse.jetty.http2.frames.DataFrame,org.eclipse.jetty.util.Callback)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onData</h4>
<pre class="methodSignature">void&nbsp;onData&#8203;(<a href="frames/DataFrame.html" title="class in org.eclipse.jetty.http2.frames">DataFrame</a>&nbsp;frame,
            <a href="../util/Callback.html" title="interface in org.eclipse.jetty.util">Callback</a>&nbsp;callback)</pre>
<div class="block"><p>Callback method invoked when a DATA frame is received.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>frame</code> - the DATA frame received</dd>
<dd><code>callback</code> - the callback to notify when the frame has been processed</dd>
</dl>
</li>
</ul>
<a id="shutdown()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>shutdown</h4>
<pre class="methodSignature">java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;&nbsp;shutdown()</pre>
<div class="block"><p>Gracefully closes the session, returning a <code>CompletableFuture</code> that
 is completed when all the streams currently being processed are completed.</p>
 <p>Implementation is idempotent, i.e. calling this method a second time
 or concurrently results in a no-operation.</p></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a <code>CompletableFuture</code> that is completed when all the streams are completed</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/ISession.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>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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>
