Merged branch 'jetty-9.4.x' into 'master'.
This commit is contained in:
commit
20b774cc25
|
@ -542,6 +542,7 @@ public class IdleTimeoutTest extends AbstractTest
|
||||||
@Test
|
@Test
|
||||||
public void testBufferedReadsResetStreamIdleTimeout() throws Exception
|
public void testBufferedReadsResetStreamIdleTimeout() throws Exception
|
||||||
{
|
{
|
||||||
|
int bufferSize = 8192;
|
||||||
long delay = 1000;
|
long delay = 1000;
|
||||||
start(new HttpServlet()
|
start(new HttpServlet()
|
||||||
{
|
{
|
||||||
|
@ -549,7 +550,7 @@ public class IdleTimeoutTest extends AbstractTest
|
||||||
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
|
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
|
||||||
{
|
{
|
||||||
ServletInputStream input = request.getInputStream();
|
ServletInputStream input = request.getInputStream();
|
||||||
byte[] buffer = new byte[8192];
|
byte[] buffer = new byte[bufferSize];
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
int read = input.read(buffer);
|
int read = input.read(buffer);
|
||||||
|
@ -580,12 +581,13 @@ public class IdleTimeoutTest extends AbstractTest
|
||||||
|
|
||||||
// Send data larger than the flow control window.
|
// Send data larger than the flow control window.
|
||||||
// The client will send bytes up to the flow control window immediately
|
// The client will send bytes up to the flow control window immediately
|
||||||
// and they will be buffered by the server, which will read them slowly.
|
// and they will be buffered by the server; the Servlet will consume them slowly.
|
||||||
// Server reads should reset the idle timeout.
|
// Servlet reads should reset the idle timeout.
|
||||||
ByteBuffer data = ByteBuffer.allocate(FlowControlStrategy.DEFAULT_WINDOW_SIZE + 1);
|
int contentLength = FlowControlStrategy.DEFAULT_WINDOW_SIZE + 1;
|
||||||
|
ByteBuffer data = ByteBuffer.allocate(contentLength);
|
||||||
stream.data(new DataFrame(stream.getId(), data, true), Callback.NOOP);
|
stream.data(new DataFrame(stream.getId(), data, true), Callback.NOOP);
|
||||||
|
|
||||||
Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
|
Assert.assertTrue(latch.await(2 * (contentLength / bufferSize + 1) * delay, TimeUnit.MILLISECONDS));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sleep(long value)
|
private void sleep(long value)
|
||||||
|
|
|
@ -398,15 +398,16 @@ public class SslContextFactory extends AbstractLifeCycle
|
||||||
}
|
}
|
||||||
|
|
||||||
// select the protocols and ciphers
|
// select the protocols and ciphers
|
||||||
SSLEngine sslEngine=context.createSSLEngine();
|
SSLParameters enabled=context.getDefaultSSLParameters();
|
||||||
selectCipherSuites(sslEngine.getEnabledCipherSuites(),sslEngine.getSupportedCipherSuites());
|
SSLParameters supported=context.getSupportedSSLParameters();
|
||||||
selectProtocols(sslEngine.getEnabledProtocols(),sslEngine.getSupportedProtocols());
|
selectCipherSuites(enabled.getCipherSuites(),supported.getCipherSuites());
|
||||||
|
selectProtocols(enabled.getProtocols(),supported.getProtocols());
|
||||||
|
|
||||||
_factory = new Factory(keyStore,trustStore,context);
|
_factory = new Factory(keyStore,trustStore,context);
|
||||||
if (LOG.isDebugEnabled())
|
if (LOG.isDebugEnabled())
|
||||||
{
|
{
|
||||||
LOG.debug("Selected Protocols {} of {}",Arrays.asList(_selectedProtocols),Arrays.asList(sslEngine.getSupportedProtocols()));
|
LOG.debug("Selected Protocols {} of {}",Arrays.asList(_selectedProtocols),Arrays.asList(supported.getProtocols()));
|
||||||
LOG.debug("Selected Ciphers {} of {}",Arrays.asList(_selectedCipherSuites),Arrays.asList(sslEngine.getSupportedCipherSuites()));
|
LOG.debug("Selected Ciphers {} of {}",Arrays.asList(_selectedCipherSuites),Arrays.asList(supported.getCipherSuites()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue