<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.11) on Wed Jul 07 10:55:45 EDT 2021 -->
<title>RemoteEndpoint (Eclipse Jetty API Doc - v10.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="RemoteEndpoint (Eclipse Jetty API Doc - v10.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,"i17":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/RemoteEndpoint.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>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="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.websocket.api</a></div>
<h2 title="Interface RemoteEndpoint" class="title">Interface RemoteEndpoint</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../common/JettyWebSocketRemoteEndpoint.html" title="class in org.eclipse.jetty.websocket.common">JettyWebSocketRemoteEndpoint</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">RemoteEndpoint</span></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="#flush()">flush</a></span>()</code></th>
<td class="colLast">
<div class="block">Flushes messages that may have been batched by the implementation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="BatchMode.html" title="enum in org.eclipse.jetty.websocket.api">BatchMode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBatchMode()">getBatchMode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxOutgoingFrames()">getMaxOutgoingFrames</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the maximum number of data frames allowed to be waiting to be sent at any one time.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.net.SocketAddress</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteAddress()">getRemoteAddress</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the SocketAddress for the established connection.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendBytes(java.nio.ByteBuffer)">sendBytes</a></span>&#8203;(java.nio.ByteBuffer&nbsp;data)</code></th>
<td class="colLast">
<div class="block">Send a binary message, returning when all bytes of the message has been transmitted.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendBytes(java.nio.ByteBuffer,org.eclipse.jetty.websocket.api.WriteCallback)">sendBytes</a></span>&#8203;(java.nio.ByteBuffer&nbsp;data,
         <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Initiates the asynchronous transmission of a binary message.</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="#sendPartialBytes(java.nio.ByteBuffer,boolean)">sendPartialBytes</a></span>&#8203;(java.nio.ByteBuffer&nbsp;fragment,
                boolean&nbsp;isLast)</code></th>
<td class="colLast">
<div class="block">Send a binary message in pieces, blocking until all of the message has been transmitted.</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="#sendPartialBytes(java.nio.ByteBuffer,boolean,org.eclipse.jetty.websocket.api.WriteCallback)">sendPartialBytes</a></span>&#8203;(java.nio.ByteBuffer&nbsp;fragment,
                boolean&nbsp;isLast,
                <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Initiates the asynchronous transmission of a partial binary message.</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="#sendPartialString(java.lang.String,boolean)">sendPartialString</a></span>&#8203;(java.lang.String&nbsp;fragment,
                 boolean&nbsp;isLast)</code></th>
<td class="colLast">
<div class="block">Send a text message in pieces, blocking until all of the message has been transmitted.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendPartialString(java.lang.String,boolean,org.eclipse.jetty.websocket.api.WriteCallback)">sendPartialString</a></span>&#8203;(java.lang.String&nbsp;fragment,
                 boolean&nbsp;isLast,
                 <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Initiates the asynchronous transmission of a partial text message.</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="#sendPing(java.nio.ByteBuffer)">sendPing</a></span>&#8203;(java.nio.ByteBuffer&nbsp;applicationData)</code></th>
<td class="colLast">
<div class="block">Send a Ping message containing the given application data to the remote endpoint, blocking until all of the
 message has been transmitted.</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="#sendPing(java.nio.ByteBuffer,org.eclipse.jetty.websocket.api.WriteCallback)">sendPing</a></span>&#8203;(java.nio.ByteBuffer&nbsp;applicationData,
        <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Asynchronously send a Ping message containing the given application data to the remote endpoint.</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="#sendPong(java.nio.ByteBuffer)">sendPong</a></span>&#8203;(java.nio.ByteBuffer&nbsp;applicationData)</code></th>
<td class="colLast">
<div class="block">Allows the developer to send an unsolicited Pong message containing the given application data
 in order to serve as a unidirectional heartbeat for the session, this will block until
 all of the message has been transmitted.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendPong(java.nio.ByteBuffer,org.eclipse.jetty.websocket.api.WriteCallback)">sendPong</a></span>&#8203;(java.nio.ByteBuffer&nbsp;applicationData,
        <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Allows the developer to asynchronously send an unsolicited Pong message containing the given application data
 in order to serve as a unidirectional heartbeat for the session.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendString(java.lang.String)">sendString</a></span>&#8203;(java.lang.String&nbsp;text)</code></th>
<td class="colLast">
<div class="block">Send a text message, blocking until all bytes of the message has been transmitted.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sendString(java.lang.String,org.eclipse.jetty.websocket.api.WriteCallback)">sendString</a></span>&#8203;(java.lang.String&nbsp;text,
          <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Initiates the asynchronous transmission of a text message.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBatchMode(org.eclipse.jetty.websocket.api.BatchMode)">setBatchMode</a></span>&#8203;(<a href="BatchMode.html" title="enum in org.eclipse.jetty.websocket.api">BatchMode</a>&nbsp;mode)</code></th>
<td class="colLast">
<div class="block">Set the batch mode with which messages are sent.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxOutgoingFrames(int)">setMaxOutgoingFrames</a></span>&#8203;(int&nbsp;maxOutgoingFrames)</code></th>
<td class="colLast">
<div class="block">Set the maximum number of data frames allowed to be waiting to be sent at any one time.</div>
</td>
</tr>
</table>
</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="sendBytes(java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendBytes</h4>
<pre class="methodSignature">void&nbsp;sendBytes&#8203;(java.nio.ByteBuffer&nbsp;data)
        throws java.io.IOException</pre>
<div class="block">Send a binary message, returning when all bytes of the message has been transmitted.
 <p>
 Note: this is a blocking call</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the message to be sent</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to send the bytes</dd>
</dl>
</li>
</ul>
<a id="sendBytes(java.nio.ByteBuffer,org.eclipse.jetty.websocket.api.WriteCallback)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendBytes</h4>
<pre class="methodSignature">void&nbsp;sendBytes&#8203;(java.nio.ByteBuffer&nbsp;data,
               <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</pre>
<div class="block">Initiates the asynchronous transmission of a binary message. This method returns before the message is transmitted.
 Developers may provide a callback to be notified when the message has been transmitted or resulted in an error.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - the data being sent</dd>
<dd><code>callback</code> - callback to notify of success or failure of the write operation</dd>
</dl>
</li>
</ul>
<a id="sendPartialBytes(java.nio.ByteBuffer,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPartialBytes</h4>
<pre class="methodSignature">void&nbsp;sendPartialBytes&#8203;(java.nio.ByteBuffer&nbsp;fragment,
                      boolean&nbsp;isLast)
               throws java.io.IOException</pre>
<div class="block">Send a binary message in pieces, blocking until all of the message has been transmitted.
 The runtime reads the message in order. Non-final pieces are
 sent with isLast set to false. The final piece must be sent with isLast set to true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fragment</code> - the piece of the message being sent</dd>
<dd><code>isLast</code> - true if this is the last piece of the partial bytes</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to send the partial bytes</dd>
</dl>
</li>
</ul>
<a id="sendPartialBytes(java.nio.ByteBuffer,boolean,org.eclipse.jetty.websocket.api.WriteCallback)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPartialBytes</h4>
<pre class="methodSignature">void&nbsp;sendPartialBytes&#8203;(java.nio.ByteBuffer&nbsp;fragment,
                      boolean&nbsp;isLast,
                      <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</pre>
<div class="block">Initiates the asynchronous transmission of a partial binary message. This method returns before the message is
 transmitted.
 The runtime reads the message in order. Non-final pieces are sent with isLast
 set to false. The final piece must be sent with isLast set to true.
 Developers may provide a callback to be notified when the message has been transmitted or resulted in an error.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fragment</code> - the data being sent</dd>
<dd><code>isLast</code> - true if this is the last piece of the partial bytes</dd>
<dd><code>callback</code> - callback to notify of success or failure of the write operation</dd>
</dl>
</li>
</ul>
<a id="sendString(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendString</h4>
<pre class="methodSignature">void&nbsp;sendString&#8203;(java.lang.String&nbsp;text)
         throws java.io.IOException</pre>
<div class="block">Send a text message, blocking until all bytes of the message has been transmitted.
 <p>
 Note: this is a blocking call</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>text</code> - the message to be sent</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to send the text message</dd>
</dl>
</li>
</ul>
<a id="sendString(java.lang.String,org.eclipse.jetty.websocket.api.WriteCallback)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendString</h4>
<pre class="methodSignature">void&nbsp;sendString&#8203;(java.lang.String&nbsp;text,
                <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</pre>
<div class="block">Initiates the asynchronous transmission of a text message. This method may return before the message is
 transmitted. Developers may provide a callback to
 be notified when the message has been transmitted or resulted in an error.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>text</code> - the text being sent</dd>
<dd><code>callback</code> - callback to notify of success or failure of the write operation</dd>
</dl>
</li>
</ul>
<a id="sendPartialString(java.lang.String,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPartialString</h4>
<pre class="methodSignature">void&nbsp;sendPartialString&#8203;(java.lang.String&nbsp;fragment,
                       boolean&nbsp;isLast)
                throws java.io.IOException</pre>
<div class="block">Send a text message in pieces, blocking until all of the message has been transmitted. The runtime reads the
 message in order. Non-final pieces are sent
 with isLast set to false. The final piece must be sent with isLast set to true.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fragment</code> - the piece of the message being sent</dd>
<dd><code>isLast</code> - true if this is the last piece of the partial bytes</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to send the partial bytes</dd>
</dl>
</li>
</ul>
<a id="sendPartialString(java.lang.String,boolean,org.eclipse.jetty.websocket.api.WriteCallback)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPartialString</h4>
<pre class="methodSignature">void&nbsp;sendPartialString&#8203;(java.lang.String&nbsp;fragment,
                       boolean&nbsp;isLast,
                       <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)
                throws java.io.IOException</pre>
<div class="block">Initiates the asynchronous transmission of a partial text message.
 This method may return before the message is transmitted.
 The runtime reads the message in order. Non-final pieces are sent with isLast
 set to false. The final piece must be sent with isLast set to true.
 Developers may provide a callback to be notified when the message has been transmitted or resulted in an error.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>fragment</code> - the text being sent</dd>
<dd><code>isLast</code> - true if this is the last piece of the partial bytes</dd>
<dd><code>callback</code> - callback to notify of success or failure of the write operation</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - this never throws IOException, it was a mistake to have this in the signature.</dd>
</dl>
</li>
</ul>
<a id="sendPing(java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPing</h4>
<pre class="methodSignature">void&nbsp;sendPing&#8203;(java.nio.ByteBuffer&nbsp;applicationData)
       throws java.io.IOException</pre>
<div class="block">Send a Ping message containing the given application data to the remote endpoint, blocking until all of the
 message has been transmitted.
 The corresponding Pong message may be picked up using the MessageHandler.Pong handler.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationData</code> - the data to be carried in the ping request</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to send the ping</dd>
</dl>
</li>
</ul>
<a id="sendPing(java.nio.ByteBuffer,org.eclipse.jetty.websocket.api.WriteCallback)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPing</h4>
<pre class="methodSignature">void&nbsp;sendPing&#8203;(java.nio.ByteBuffer&nbsp;applicationData,
              <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</pre>
<div class="block">Asynchronously send a Ping message containing the given application data to the remote endpoint.
 The corresponding Pong message may be picked up using the MessageHandler.Pong handler.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationData</code> - the data to be carried in the ping request</dd>
<dd><code>callback</code> - callback to notify of success or failure of the write operation</dd>
</dl>
</li>
</ul>
<a id="sendPong(java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPong</h4>
<pre class="methodSignature">void&nbsp;sendPong&#8203;(java.nio.ByteBuffer&nbsp;applicationData)
       throws java.io.IOException</pre>
<div class="block">Allows the developer to send an unsolicited Pong message containing the given application data
 in order to serve as a unidirectional heartbeat for the session, this will block until
 all of the message has been transmitted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationData</code> - the application data to be carried in the pong response.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to send the pong</dd>
</dl>
</li>
</ul>
<a id="sendPong(java.nio.ByteBuffer,org.eclipse.jetty.websocket.api.WriteCallback)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPong</h4>
<pre class="methodSignature">void&nbsp;sendPong&#8203;(java.nio.ByteBuffer&nbsp;applicationData,
              <a href="WriteCallback.html" title="interface in org.eclipse.jetty.websocket.api">WriteCallback</a>&nbsp;callback)</pre>
<div class="block">Allows the developer to asynchronously send an unsolicited Pong message containing the given application data
 in order to serve as a unidirectional heartbeat for the session.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>applicationData</code> - the application data to be carried in the pong response.</dd>
<dd><code>callback</code> - callback to notify of success or failure of the write operation</dd>
</dl>
</li>
</ul>
<a id="getBatchMode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBatchMode</h4>
<pre class="methodSignature"><a href="BatchMode.html" title="enum in org.eclipse.jetty.websocket.api">BatchMode</a>&nbsp;getBatchMode()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the batch mode with which messages are sent.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#flush()"><code>flush()</code></a></dd>
</dl>
</li>
</ul>
<a id="setBatchMode(org.eclipse.jetty.websocket.api.BatchMode)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBatchMode</h4>
<pre class="methodSignature">void&nbsp;setBatchMode&#8203;(<a href="BatchMode.html" title="enum in org.eclipse.jetty.websocket.api">BatchMode</a>&nbsp;mode)</pre>
<div class="block">Set the batch mode with which messages are sent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mode</code> - the batch mode to use</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#flush()"><code>flush()</code></a></dd>
</dl>
</li>
</ul>
<a id="getMaxOutgoingFrames()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxOutgoingFrames</h4>
<pre class="methodSignature">int&nbsp;getMaxOutgoingFrames()</pre>
<div class="block">Get the maximum number of data frames allowed to be waiting to be sent at any one time.
 The default value is -1, this indicates there is no limit on how many frames can be
 queued to be sent by the implementation. If the limit is exceeded, subsequent frames
 sent are failed with a <code>WritePendingException</code> but
 the connection is not failed and will remain open.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the max number of frames.</dd>
</dl>
</li>
</ul>
<a id="setMaxOutgoingFrames(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxOutgoingFrames</h4>
<pre class="methodSignature">void&nbsp;setMaxOutgoingFrames&#8203;(int&nbsp;maxOutgoingFrames)</pre>
<div class="block">Set the maximum number of data frames allowed to be waiting to be sent at any one time.
 The default value is -1, this indicates there is no limit on how many frames can be
 queued to be sent by the implementation. If the limit is exceeded, subsequent frames
 sent are failed with a <code>WritePendingException</code> but
 the connection is not failed and will remain open.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxOutgoingFrames</code> - the max number of frames.</dd>
</dl>
</li>
</ul>
<a id="getRemoteAddress()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteAddress</h4>
<pre class="methodSignature">java.net.SocketAddress&nbsp;getRemoteAddress()</pre>
<div class="block">Get the SocketAddress for the established connection.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the SocketAddress for the established connection.</dd>
</dl>
</li>
</ul>
<a id="flush()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>flush</h4>
<pre class="methodSignature">void&nbsp;flush()
    throws java.io.IOException</pre>
<div class="block">Flushes messages that may have been batched by the implementation.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if the flush fails</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/RemoteEndpoint.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>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="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>
