<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.6) on Fri Feb 28 12:24:55 EST 2020 -->
<title>LocalConnector (Jetty :: Project 9.4.27.v20200227 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-02-28">
<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.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.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="LocalConnector (Jetty :: Project 9.4.27.v20200227 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":42,"i10":42,"i11":42,"i12":42,"i13":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = false;
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/LocalConnector.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.server</a></div>
<h2 title="Class LocalConnector" class="title">Class LocalConnector</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.AbstractLifeCycle</a></li>
<li>
<ul class="inheritance">
<li><a href="../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">org.eclipse.jetty.util.component.ContainerLifeCycle</a></li>
<li>
<ul class="inheritance">
<li><a href="AbstractConnector.html" title="class in org.eclipse.jetty.server">org.eclipse.jetty.server.AbstractConnector</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.server.LocalConnector</li>
</ul>
</li>
</ul>
</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="Connector.html" title="interface in org.eclipse.jetty.server">Connector</a></code>, <code><a href="../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></code>, <code><a href="../util/component/Destroyable.html" title="interface in org.eclipse.jetty.util.component">Destroyable</a></code>, <code><a href="../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code>, <code><a href="../util/component/Graceful.html" title="interface in org.eclipse.jetty.util.component">Graceful</a></code>, <code><a href="../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">LocalConnector</span>
extends <a href="AbstractConnector.html" title="class in org.eclipse.jetty.server">AbstractConnector</a></pre>
<div class="block">A local connector, mostly for testing purposes.
 <pre>
  HttpTester.Request request = HttpTester.newRequest();
  request.setURI("/some/resource");
  HttpTester.Response response =
      HttpTester.parseResponse(HttpTester.from(localConnector.getResponse(request.generate())));
 </pre></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>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="LocalConnector.LocalEndPoint.html" title="class in org.eclipse.jetty.server">LocalConnector.LocalEndPoint</a></span></code></th>
<td class="colLast">
<div class="block">Local EndPoint</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../util/component/AbstractLifeCycle.AbstractLifeCycleListener.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle.AbstractLifeCycleListener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Container">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></h3>
<code><a href="../util/component/Container.InheritedListener.html" title="interface in org.eclipse.jetty.util.component">Container.InheritedListener</a>, <a href="../util/component/Container.Listener.html" title="interface in org.eclipse.jetty.util.component">Container.Listener</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Graceful">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Graceful.html" title="interface in org.eclipse.jetty.util.component">Graceful</a></h3>
<code><a href="../util/component/Graceful.Shutdown.html" title="class in org.eclipse.jetty.util.component">Graceful.Shutdown</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.LifeCycle">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../util/component/LifeCycle.Listener.html" title="interface in org.eclipse.jetty.util.component">LifeCycle.Listener</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.server.AbstractConnector">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.server.<a href="AbstractConnector.html" title="class in org.eclipse.jetty.server">AbstractConnector</a></h3>
<code><a href="AbstractConnector.html#LOG">LOG</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../util/component/AbstractLifeCycle.html#FAILED">FAILED</a>, <a href="../util/component/AbstractLifeCycle.html#RUNNING">RUNNING</a>, <a href="../util/component/AbstractLifeCycle.html#STARTED">STARTED</a>, <a href="../util/component/AbstractLifeCycle.html#STARTING">STARTING</a>, <a href="../util/component/AbstractLifeCycle.html#STOPPED">STOPPED</a>, <a href="../util/component/AbstractLifeCycle.html#STOPPING">STOPPING</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>
</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(org.eclipse.jetty.server.Server)">LocalConnector</a></span>&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.server.Server,java.util.concurrent.Executor,org.eclipse.jetty.util.thread.Scheduler,org.eclipse.jetty.io.ByteBufferPool,int,org.eclipse.jetty.server.ConnectionFactory...)">LocalConnector</a></span>&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server,
              java.util.concurrent.Executor&nbsp;executor,
              <a href="../util/thread/Scheduler.html" title="interface in org.eclipse.jetty.util.thread">Scheduler</a>&nbsp;scheduler,
              <a href="../io/ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a>&nbsp;pool,
              int&nbsp;acceptors,
              <a href="ConnectionFactory.html" title="interface in org.eclipse.jetty.server">ConnectionFactory</a>...&nbsp;factories)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.server.Server,org.eclipse.jetty.server.ConnectionFactory)">LocalConnector</a></span>&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server,
              <a href="ConnectionFactory.html" title="interface in org.eclipse.jetty.server">ConnectionFactory</a>&nbsp;connectionFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.server.Server,org.eclipse.jetty.server.ConnectionFactory,org.eclipse.jetty.util.ssl.SslContextFactory)">LocalConnector</a></span>&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server,
              <a href="ConnectionFactory.html" title="interface in org.eclipse.jetty.server">ConnectionFactory</a>&nbsp;connectionFactory,
              <a href="../util/ssl/SslContextFactory.html" title="class in org.eclipse.jetty.util.ssl">SslContextFactory</a>&nbsp;sslContextFactory)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.jetty.server.Server,org.eclipse.jetty.util.ssl.SslContextFactory)">LocalConnector</a></span>&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server,
              <a href="../util/ssl/SslContextFactory.html" title="class in org.eclipse.jetty.util.ssl">SslContextFactory</a>&nbsp;sslContextFactory)</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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated 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>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#accept(int)">accept</a></span>&#8203;(int&nbsp;acceptorID)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="LocalConnector.LocalEndPoint.html" title="class in org.eclipse.jetty.server">LocalConnector.LocalEndPoint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#connect()">connect</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="LocalConnector.LocalEndPoint.html" title="class in org.eclipse.jetty.server">LocalConnector.LocalEndPoint</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executeRequest(java.lang.String)">executeRequest</a></span>&#8203;(java.lang.String&nbsp;rawRequest)</code></th>
<td class="colLast">
<div class="block">Execute a request and return the EndPoint through which
 multiple responses can be received or more input provided.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponse(java.lang.String)">getResponse</a></span>&#8203;(java.lang.String&nbsp;rawRequest)</code></th>
<td class="colLast">
<div class="block">Get a single response using a parser to search for the end of the message.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponse(java.lang.String,boolean,long,java.util.concurrent.TimeUnit)">getResponse</a></span>&#8203;(java.lang.String&nbsp;rawRequest,
           boolean&nbsp;head,
           long&nbsp;time,
           java.util.concurrent.TimeUnit&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Get a single response using a parser to search for the end of the message.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponse(java.lang.String,long,java.util.concurrent.TimeUnit)">getResponse</a></span>&#8203;(java.lang.String&nbsp;rawRequest,
           long&nbsp;time,
           java.util.concurrent.TimeUnit&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Get a single response using a parser to search for the end of the message.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponse(java.nio.ByteBuffer)">getResponse</a></span>&#8203;(java.nio.ByteBuffer&nbsp;requestsBuffer)</code></th>
<td class="colLast">
<div class="block">Get a single response using a parser to search for the end of the message.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponse(java.nio.ByteBuffer,boolean,long,java.util.concurrent.TimeUnit)">getResponse</a></span>&#8203;(java.nio.ByteBuffer&nbsp;requestBuffer,
           boolean&nbsp;head,
           long&nbsp;time,
           java.util.concurrent.TimeUnit&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Get a single response using a parser to search for the end of the message.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponse(java.nio.ByteBuffer,long,java.util.concurrent.TimeUnit)">getResponse</a></span>&#8203;(java.nio.ByteBuffer&nbsp;requestBuffer,
           long&nbsp;time,
           java.util.concurrent.TimeUnit&nbsp;unit)</code></th>
<td class="colLast">
<div class="block">Get a single response using a parser to search for the end of the message.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponses(java.lang.String)">getResponses</a></span>&#8203;(java.lang.String&nbsp;requests)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getResponse(java.lang.String)"><code>getResponse(String)</code></a></div>
</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponses(java.lang.String,long,java.util.concurrent.TimeUnit)">getResponses</a></span>&#8203;(java.lang.String&nbsp;requests,
            long&nbsp;idleFor,
            java.util.concurrent.TimeUnit&nbsp;units)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getResponse(java.lang.String,boolean,long,java.util.concurrent.TimeUnit)"><code>getResponse(String, boolean, long, TimeUnit)</code></a></div>
</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponses(java.nio.ByteBuffer)">getResponses</a></span>&#8203;(java.nio.ByteBuffer&nbsp;requestsBuffer)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getResponse(java.nio.ByteBuffer)"><code>getResponse(ByteBuffer)</code></a></div>
</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.nio.ByteBuffer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResponses(java.nio.ByteBuffer,long,java.util.concurrent.TimeUnit)">getResponses</a></span>&#8203;(java.nio.ByteBuffer&nbsp;requestsBuffer,
            long&nbsp;idleFor,
            java.util.concurrent.TimeUnit&nbsp;units)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getResponse(java.nio.ByteBuffer,boolean,long,java.util.concurrent.TimeUnit)"><code>getResponse(ByteBuffer, boolean, long, TimeUnit)</code></a></div>
</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTransport()">getTransport</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.server.AbstractConnector">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.server.<a href="AbstractConnector.html" title="class in org.eclipse.jetty.server">AbstractConnector</a></h3>
<code><a href="AbstractConnector.html#addConnectionFactory(org.eclipse.jetty.server.ConnectionFactory)">addConnectionFactory</a>, <a href="AbstractConnector.html#addFirstConnectionFactory(org.eclipse.jetty.server.ConnectionFactory)">addFirstConnectionFactory</a>, <a href="AbstractConnector.html#addIfAbsentConnectionFactory(org.eclipse.jetty.server.ConnectionFactory)">addIfAbsentConnectionFactory</a>, <a href="AbstractConnector.html#clearConnectionFactories()">clearConnectionFactories</a>, <a href="AbstractConnector.html#doStart()">doStart</a>, <a href="AbstractConnector.html#doStop()">doStop</a>, <a href="AbstractConnector.html#getAcceptorPriorityDelta()">getAcceptorPriorityDelta</a>, <a href="AbstractConnector.html#getAcceptors()">getAcceptors</a>, <a href="AbstractConnector.html#getByteBufferPool()">getByteBufferPool</a>, <a href="AbstractConnector.html#getConnectedEndPoints()">getConnectedEndPoints</a>, <a href="AbstractConnector.html#getConnectionFactories()">getConnectionFactories</a>, <a href="AbstractConnector.html#getConnectionFactory(java.lang.Class)">getConnectionFactory</a>, <a href="AbstractConnector.html#getConnectionFactory(java.lang.String)">getConnectionFactory</a>, <a href="AbstractConnector.html#getDefaultConnectionFactory()">getDefaultConnectionFactory</a>, <a href="AbstractConnector.html#getDefaultProtocol()">getDefaultProtocol</a>, <a href="AbstractConnector.html#getExecutor()">getExecutor</a>, <a href="AbstractConnector.html#getHttpChannelListeners()">getHttpChannelListeners</a>, <a href="AbstractConnector.html#getIdleTimeout()">getIdleTimeout</a>, <a href="AbstractConnector.html#getName()">getName</a>, <a href="AbstractConnector.html#getProtocols()">getProtocols</a>, <a href="AbstractConnector.html#getScheduler()">getScheduler</a>, <a href="AbstractConnector.html#getServer()">getServer</a>, <a href="AbstractConnector.html#handleAcceptFailure(java.lang.Throwable)">handleAcceptFailure</a>, <a href="AbstractConnector.html#interruptAcceptors()">interruptAcceptors</a>, <a href="AbstractConnector.html#isAccepting()">isAccepting</a>, <a href="AbstractConnector.html#isShutdown()">isShutdown</a>, <a href="AbstractConnector.html#join()">join</a>, <a href="AbstractConnector.html#join(long)">join</a>, <a href="AbstractConnector.html#onEndPointClosed(org.eclipse.jetty.io.EndPoint)">onEndPointClosed</a>, <a href="AbstractConnector.html#onEndPointOpened(org.eclipse.jetty.io.EndPoint)">onEndPointOpened</a>, <a href="AbstractConnector.html#removeConnectionFactory(java.lang.String)">removeConnectionFactory</a>, <a href="AbstractConnector.html#setAccepting(boolean)">setAccepting</a>, <a href="AbstractConnector.html#setAcceptorPriorityDelta(int)">setAcceptorPriorityDelta</a>, <a href="AbstractConnector.html#setConnectionFactories(java.util.Collection)">setConnectionFactories</a>, <a href="AbstractConnector.html#setDefaultProtocol(java.lang.String)">setDefaultProtocol</a>, <a href="AbstractConnector.html#setIdleTimeout(long)">setIdleTimeout</a>, <a href="AbstractConnector.html#setName(java.lang.String)">setName</a>, <a href="AbstractConnector.html#shutdown()">shutdown</a>, <a href="AbstractConnector.html#toString()">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.ContainerLifeCycle">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/ContainerLifeCycle.html" title="class in org.eclipse.jetty.util.component">ContainerLifeCycle</a></h3>
<code><a href="../util/component/ContainerLifeCycle.html#addBean(java.lang.Object)">addBean</a>, <a href="../util/component/ContainerLifeCycle.html#addBean(java.lang.Object,boolean)">addBean</a>, <a href="../util/component/ContainerLifeCycle.html#addEventListener(org.eclipse.jetty.util.component.Container.Listener)">addEventListener</a>, <a href="../util/component/ContainerLifeCycle.html#addManaged(org.eclipse.jetty.util.component.LifeCycle)">addManaged</a>, <a href="../util/component/ContainerLifeCycle.html#contains(java.lang.Object)">contains</a>, <a href="../util/component/ContainerLifeCycle.html#destroy()">destroy</a>, <a href="../util/component/ContainerLifeCycle.html#dump()">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable)">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable,java.lang.String)">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dump(java.lang.Appendable,java.lang.String,java.util.Collection...)">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dump(org.eclipse.jetty.util.component.Dumpable)">dump</a>, <a href="../util/component/ContainerLifeCycle.html#dumpBeans(java.lang.Appendable,java.lang.String,java.util.Collection...)">dumpBeans</a>, <a href="../util/component/ContainerLifeCycle.html#dumpObject(java.lang.Appendable,java.lang.Object)">dumpObject</a>, <a href="../util/component/ContainerLifeCycle.html#dumpObjects(java.lang.Appendable,java.lang.String,java.lang.Object...)">dumpObjects</a>, <a href="../util/component/ContainerLifeCycle.html#dumpStdErr()">dumpStdErr</a>, <a href="../util/component/ContainerLifeCycle.html#dumpThis(java.lang.Appendable)">dumpThis</a>, <a href="../util/component/ContainerLifeCycle.html#getBean(java.lang.Class)">getBean</a>, <a href="../util/component/ContainerLifeCycle.html#getBeans()">getBeans</a>, <a href="../util/component/ContainerLifeCycle.html#getBeans(java.lang.Class)">getBeans</a>, <a href="../util/component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class)">getContainedBeans</a>, <a href="../util/component/ContainerLifeCycle.html#getContainedBeans(java.lang.Class,java.util.Collection)">getContainedBeans</a>, <a href="../util/component/ContainerLifeCycle.html#isAuto(java.lang.Object)">isAuto</a>, <a href="../util/component/ContainerLifeCycle.html#isManaged(java.lang.Object)">isManaged</a>, <a href="../util/component/ContainerLifeCycle.html#isUnmanaged(java.lang.Object)">isUnmanaged</a>, <a href="../util/component/ContainerLifeCycle.html#manage(java.lang.Object)">manage</a>, <a href="../util/component/ContainerLifeCycle.html#removeBean(java.lang.Object)">removeBean</a>, <a href="../util/component/ContainerLifeCycle.html#removeBeans()">removeBeans</a>, <a href="../util/component/ContainerLifeCycle.html#removeEventListener(org.eclipse.jetty.util.component.Container.Listener)">removeEventListener</a>, <a href="../util/component/ContainerLifeCycle.html#setBeans(java.util.Collection)">setBeans</a>, <a href="../util/component/ContainerLifeCycle.html#setStopTimeout(long)">setStopTimeout</a>, <a href="../util/component/ContainerLifeCycle.html#start(org.eclipse.jetty.util.component.LifeCycle)">start</a>, <a href="../util/component/ContainerLifeCycle.html#stop(org.eclipse.jetty.util.component.LifeCycle)">stop</a>, <a href="../util/component/ContainerLifeCycle.html#unmanage(java.lang.Object)">unmanage</a>, <a href="../util/component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object)">updateBean</a>, <a href="../util/component/ContainerLifeCycle.html#updateBean(java.lang.Object,java.lang.Object,boolean)">updateBean</a>, <a href="../util/component/ContainerLifeCycle.html#updateBeans(java.lang.Object%5B%5D,java.lang.Object%5B%5D)">updateBeans</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.AbstractLifeCycle">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/AbstractLifeCycle.html" title="class in org.eclipse.jetty.util.component">AbstractLifeCycle</a></h3>
<code><a href="../util/component/AbstractLifeCycle.html#addLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">addLifeCycleListener</a>, <a href="../util/component/AbstractLifeCycle.html#getState()">getState</a>, <a href="../util/component/AbstractLifeCycle.html#getState(org.eclipse.jetty.util.component.LifeCycle)">getState</a>, <a href="../util/component/AbstractLifeCycle.html#getStopTimeout()">getStopTimeout</a>, <a href="../util/component/AbstractLifeCycle.html#isFailed()">isFailed</a>, <a href="../util/component/AbstractLifeCycle.html#isRunning()">isRunning</a>, <a href="../util/component/AbstractLifeCycle.html#isStarted()">isStarted</a>, <a href="../util/component/AbstractLifeCycle.html#isStarting()">isStarting</a>, <a href="../util/component/AbstractLifeCycle.html#isStopped()">isStopped</a>, <a href="../util/component/AbstractLifeCycle.html#isStopping()">isStopping</a>, <a href="../util/component/AbstractLifeCycle.html#removeLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">removeLifeCycleListener</a>, <a href="../util/component/AbstractLifeCycle.html#start()">start</a>, <a href="../util/component/AbstractLifeCycle.html#stop()">stop</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.Container">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/Container.html" title="interface in org.eclipse.jetty.util.component">Container</a></h3>
<code><a href="../util/component/Container.html#addBean(java.lang.Object)">addBean</a>, <a href="../util/component/Container.html#addBean(java.lang.Object,boolean)">addBean</a>, <a href="../util/component/Container.html#addEventListener(org.eclipse.jetty.util.component.Container.Listener)">addEventListener</a>, <a href="../util/component/Container.html#getBean(java.lang.Class)">getBean</a>, <a href="../util/component/Container.html#getBeans()">getBeans</a>, <a href="../util/component/Container.html#getBeans(java.lang.Class)">getBeans</a>, <a href="../util/component/Container.html#getContainedBeans(java.lang.Class)">getContainedBeans</a>, <a href="../util/component/Container.html#isManaged(java.lang.Object)">isManaged</a>, <a href="../util/component/Container.html#manage(java.lang.Object)">manage</a>, <a href="../util/component/Container.html#removeBean(java.lang.Object)">removeBean</a>, <a href="../util/component/Container.html#removeEventListener(org.eclipse.jetty.util.component.Container.Listener)">removeEventListener</a>, <a href="../util/component/Container.html#unmanage(java.lang.Object)">unmanage</a></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#dump()">dump</a>, <a href="../util/component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">dump</a>, <a href="../util/component/Dumpable.html#dumpSelf()">dumpSelf</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.LifeCycle">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../util/component/LifeCycle.html" title="interface in org.eclipse.jetty.util.component">LifeCycle</a></h3>
<code><a href="../util/component/LifeCycle.html#addLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">addLifeCycleListener</a>, <a href="../util/component/LifeCycle.html#isFailed()">isFailed</a>, <a href="../util/component/LifeCycle.html#isRunning()">isRunning</a>, <a href="../util/component/LifeCycle.html#isStarted()">isStarted</a>, <a href="../util/component/LifeCycle.html#isStarting()">isStarting</a>, <a href="../util/component/LifeCycle.html#isStopped()">isStopped</a>, <a href="../util/component/LifeCycle.html#isStopping()">isStopping</a>, <a href="../util/component/LifeCycle.html#removeLifeCycleListener(org.eclipse.jetty.util.component.LifeCycle.Listener)">removeLifeCycleListener</a>, <a href="../util/component/LifeCycle.html#start()">start</a>, <a href="../util/component/LifeCycle.html#stop()">stop</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;(org.eclipse.jetty.server.Server,java.util.concurrent.Executor,org.eclipse.jetty.util.thread.Scheduler,org.eclipse.jetty.io.ByteBufferPool,int,org.eclipse.jetty.server.ConnectionFactory...)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LocalConnector</h4>
<pre>public&nbsp;LocalConnector&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server,
                      java.util.concurrent.Executor&nbsp;executor,
                      <a href="../util/thread/Scheduler.html" title="interface in org.eclipse.jetty.util.thread">Scheduler</a>&nbsp;scheduler,
                      <a href="../io/ByteBufferPool.html" title="interface in org.eclipse.jetty.io">ByteBufferPool</a>&nbsp;pool,
                      int&nbsp;acceptors,
                      <a href="ConnectionFactory.html" title="interface in org.eclipse.jetty.server">ConnectionFactory</a>...&nbsp;factories)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.eclipse.jetty.server.Server)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LocalConnector</h4>
<pre>public&nbsp;LocalConnector&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.eclipse.jetty.server.Server,org.eclipse.jetty.util.ssl.SslContextFactory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LocalConnector</h4>
<pre>public&nbsp;LocalConnector&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server,
                      <a href="../util/ssl/SslContextFactory.html" title="class in org.eclipse.jetty.util.ssl">SslContextFactory</a>&nbsp;sslContextFactory)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.eclipse.jetty.server.Server,org.eclipse.jetty.server.ConnectionFactory)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LocalConnector</h4>
<pre>public&nbsp;LocalConnector&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server,
                      <a href="ConnectionFactory.html" title="interface in org.eclipse.jetty.server">ConnectionFactory</a>&nbsp;connectionFactory)</pre>
</li>
</ul>
<a id="&lt;init&gt;(org.eclipse.jetty.server.Server,org.eclipse.jetty.server.ConnectionFactory,org.eclipse.jetty.util.ssl.SslContextFactory)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LocalConnector</h4>
<pre>public&nbsp;LocalConnector&#8203;(<a href="Server.html" title="class in org.eclipse.jetty.server">Server</a>&nbsp;server,
                      <a href="ConnectionFactory.html" title="interface in org.eclipse.jetty.server">ConnectionFactory</a>&nbsp;connectionFactory,
                      <a href="../util/ssl/SslContextFactory.html" title="class in org.eclipse.jetty.util.ssl">SslContextFactory</a>&nbsp;sslContextFactory)</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="getTransport()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransport</h4>
<pre class="methodSignature">public&nbsp;java.lang.Object&nbsp;getTransport()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the underlying socket, channel, buffer etc. for the connector.</dd>
</dl>
</li>
</ul>
<a id="getResponses(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponses</h4>
<pre class="methodSignature">@Deprecated
public&nbsp;java.lang.String&nbsp;getResponses&#8203;(java.lang.String&nbsp;requests)
                              throws java.lang.Exception</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getResponse(java.lang.String)"><code>getResponse(String)</code></a></div>
</div>
<div class="block">Sends requests and get responses based on thread activity.
 Returns all the responses received once the thread activity has
 returned to the level it was before the requests.
 <p>
 This methods waits until the connection is closed or
 is idle for 5s before returning the responses.
 <p>Use <a href="#getResponse(java.lang.String)"><code>getResponse(String)</code></a> for an alternative that does not wait for idle.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requests</code> - the requests</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the responses</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if the requests fail</dd>
</dl>
</li>
</ul>
<a id="getResponses(java.lang.String,long,java.util.concurrent.TimeUnit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponses</h4>
<pre class="methodSignature">@Deprecated
public&nbsp;java.lang.String&nbsp;getResponses&#8203;(java.lang.String&nbsp;requests,
                                     long&nbsp;idleFor,
                                     java.util.concurrent.TimeUnit&nbsp;units)
                              throws java.lang.Exception</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getResponse(java.lang.String,boolean,long,java.util.concurrent.TimeUnit)"><code>getResponse(String, boolean, long, TimeUnit)</code></a></div>
</div>
<div class="block">Sends requests and get responses based on thread activity.
 Returns all the responses received once the thread activity has
 returned to the level it was before the requests.
 <p>
 This methods waits until the connection is closed or
 an idle period before returning the responses.
 <p>Use <a href="#getResponse(java.lang.String)"><code>getResponse(String)</code></a> for an alternative that does not wait for idle.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requests</code> - the requests</dd>
<dd><code>idleFor</code> - The time the response stream must be idle for before returning</dd>
<dd><code>units</code> - The units of idleFor</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the responses</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if the requests fail</dd>
</dl>
</li>
</ul>
<a id="getResponses(java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponses</h4>
<pre class="methodSignature">@Deprecated
public&nbsp;java.nio.ByteBuffer&nbsp;getResponses&#8203;(java.nio.ByteBuffer&nbsp;requestsBuffer)
                                 throws java.lang.Exception</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getResponse(java.nio.ByteBuffer)"><code>getResponse(ByteBuffer)</code></a></div>
</div>
<div class="block">Sends requests and get's responses based on thread activity.
 Returns all the responses received once the thread activity has
 returned to the level it was before the requests.
 <p>
 This methods waits until the connection is closed or
 is idle for 5s before returning the responses.
 <p>Use <a href="#getResponse(java.nio.ByteBuffer)"><code>getResponse(ByteBuffer)</code></a> for an alternative that does not wait for idle.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestsBuffer</code> - the requests</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the responses</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if the requests fail</dd>
</dl>
</li>
</ul>
<a id="getResponses(java.nio.ByteBuffer,long,java.util.concurrent.TimeUnit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponses</h4>
<pre class="methodSignature">@Deprecated
public&nbsp;java.nio.ByteBuffer&nbsp;getResponses&#8203;(java.nio.ByteBuffer&nbsp;requestsBuffer,
                                        long&nbsp;idleFor,
                                        java.util.concurrent.TimeUnit&nbsp;units)
                                 throws java.lang.Exception</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">Use <a href="#getResponse(java.nio.ByteBuffer,boolean,long,java.util.concurrent.TimeUnit)"><code>getResponse(ByteBuffer, boolean, long, TimeUnit)</code></a></div>
</div>
<div class="block">Sends requests and get's responses based on thread activity.
 Returns all the responses received once the thread activity has
 returned to the level it was before the requests.
 <p>
 This methods waits until the connection is closed or
 an idle period before returning the responses.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestsBuffer</code> - the requests</dd>
<dd><code>idleFor</code> - The time the response stream must be idle for before returning</dd>
<dd><code>units</code> - The units of idleFor</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the responses</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if the requests fail</dd>
</dl>
</li>
</ul>
<a id="executeRequest(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>executeRequest</h4>
<pre class="methodSignature">public&nbsp;<a href="LocalConnector.LocalEndPoint.html" title="class in org.eclipse.jetty.server">LocalConnector.LocalEndPoint</a>&nbsp;executeRequest&#8203;(java.lang.String&nbsp;rawRequest)</pre>
<div class="block">Execute a request and return the EndPoint through which
 multiple responses can be received or more input provided.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rawRequest</code> - the request</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the local endpoint</dd>
</dl>
</li>
</ul>
<a id="connect()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connect</h4>
<pre class="methodSignature">public&nbsp;<a href="LocalConnector.LocalEndPoint.html" title="class in org.eclipse.jetty.server">LocalConnector.LocalEndPoint</a>&nbsp;connect()</pre>
</li>
</ul>
<a id="accept(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>accept</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;accept&#8203;(int&nbsp;acceptorID)
               throws java.io.IOException,
                      java.lang.InterruptedException</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractConnector.html#accept(int)">accept</a></code>&nbsp;in class&nbsp;<code><a href="AbstractConnector.html" title="class in org.eclipse.jetty.server">AbstractConnector</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>
<dd><code>java.lang.InterruptedException</code></dd>
</dl>
</li>
</ul>
<a id="getResponse(java.nio.ByteBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponse</h4>
<pre class="methodSignature">public&nbsp;java.nio.ByteBuffer&nbsp;getResponse&#8203;(java.nio.ByteBuffer&nbsp;requestsBuffer)
                                throws java.lang.Exception</pre>
<div class="block">Get a single response using a parser to search for the end of the message.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestsBuffer</code> - The request to send</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ByteBuffer containing response or null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - If there is a problem</dd>
</dl>
</li>
</ul>
<a id="getResponse(java.nio.ByteBuffer,long,java.util.concurrent.TimeUnit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponse</h4>
<pre class="methodSignature">public&nbsp;java.nio.ByteBuffer&nbsp;getResponse&#8203;(java.nio.ByteBuffer&nbsp;requestBuffer,
                                       long&nbsp;time,
                                       java.util.concurrent.TimeUnit&nbsp;unit)
                                throws java.lang.Exception</pre>
<div class="block">Get a single response using a parser to search for the end of the message.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestBuffer</code> - The request to send</dd>
<dd><code>time</code> - The time to wait</dd>
<dd><code>unit</code> - The units of the wait</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ByteBuffer containing response or null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - If there is a problem</dd>
</dl>
</li>
</ul>
<a id="getResponse(java.nio.ByteBuffer,boolean,long,java.util.concurrent.TimeUnit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponse</h4>
<pre class="methodSignature">public&nbsp;java.nio.ByteBuffer&nbsp;getResponse&#8203;(java.nio.ByteBuffer&nbsp;requestBuffer,
                                       boolean&nbsp;head,
                                       long&nbsp;time,
                                       java.util.concurrent.TimeUnit&nbsp;unit)
                                throws java.lang.Exception</pre>
<div class="block">Get a single response using a parser to search for the end of the message.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>requestBuffer</code> - The request to send</dd>
<dd><code>head</code> - True if the response is for a head request</dd>
<dd><code>time</code> - The time to wait</dd>
<dd><code>unit</code> - The units of the wait</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ByteBuffer containing response or null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - If there is a problem</dd>
</dl>
</li>
</ul>
<a id="getResponse(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponse</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getResponse&#8203;(java.lang.String&nbsp;rawRequest)
                             throws java.lang.Exception</pre>
<div class="block">Get a single response using a parser to search for the end of the message.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rawRequest</code> - The request to send</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ByteBuffer containing response or null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - If there is a problem</dd>
</dl>
</li>
</ul>
<a id="getResponse(java.lang.String,long,java.util.concurrent.TimeUnit)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResponse</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getResponse&#8203;(java.lang.String&nbsp;rawRequest,
                                    long&nbsp;time,
                                    java.util.concurrent.TimeUnit&nbsp;unit)
                             throws java.lang.Exception</pre>
<div class="block">Get a single response using a parser to search for the end of the message.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rawRequest</code> - The request to send</dd>
<dd><code>time</code> - The time to wait</dd>
<dd><code>unit</code> - The units of the wait</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ByteBuffer containing response or null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - If there is a problem</dd>
</dl>
</li>
</ul>
<a id="getResponse(java.lang.String,boolean,long,java.util.concurrent.TimeUnit)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getResponse</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;getResponse&#8203;(java.lang.String&nbsp;rawRequest,
                                    boolean&nbsp;head,
                                    long&nbsp;time,
                                    java.util.concurrent.TimeUnit&nbsp;unit)
                             throws java.lang.Exception</pre>
<div class="block">Get a single response using a parser to search for the end of the message.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rawRequest</code> - The request to send</dd>
<dd><code>head</code> - True if the response is for a head request</dd>
<dd><code>time</code> - The time to wait</dd>
<dd><code>unit</code> - The units of the wait</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ByteBuffer containing response or null.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - If there is a problem</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/LocalConnector.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;2020 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
