Ignoring HEADERS, PUSH_PROMISE and DATA if the stream cannot be found.

This typically happens when the stream has been reset.
This commit is contained in:
Simone Bordet 2014-08-19 13:43:24 +02:00
parent 20076fcdc5
commit d4f140ff65
2 changed files with 6 additions and 8 deletions

View File

@ -18,14 +18,12 @@
package org.eclipse.jetty.http2.client;
import org.eclipse.jetty.http2.ErrorCodes;
import org.eclipse.jetty.http2.FlowControl;
import org.eclipse.jetty.http2.HTTP2Session;
import org.eclipse.jetty.http2.IStream;
import org.eclipse.jetty.http2.api.Stream;
import org.eclipse.jetty.http2.frames.HeadersFrame;
import org.eclipse.jetty.http2.frames.PushPromiseFrame;
import org.eclipse.jetty.http2.frames.ResetFrame;
import org.eclipse.jetty.http2.generator.Generator;
import org.eclipse.jetty.io.EndPoint;
import org.eclipse.jetty.util.Callback;
@ -52,8 +50,8 @@ public class HTTP2ClientSession extends HTTP2Session
IStream stream = getStream(streamId);
if (stream == null)
{
ResetFrame reset = new ResetFrame(streamId, ErrorCodes.STREAM_CLOSED_ERROR);
reset(reset, disconnectOnFailure());
if (LOG.isDebugEnabled())
LOG.debug("Ignoring {}, stream #{} not found", frame, streamId);
}
else
{
@ -92,8 +90,8 @@ public class HTTP2ClientSession extends HTTP2Session
IStream stream = getStream(streamId);
if (stream == null)
{
ResetFrame reset = new ResetFrame(pushStreamId, ErrorCodes.STREAM_CLOSED_ERROR);
reset(reset, disconnectOnFailure());
if (LOG.isDebugEnabled())
LOG.debug("Ignoring {}, stream #{} not found", frame, streamId);
}
else
{

View File

@ -163,8 +163,8 @@ public abstract class HTTP2Session implements ISession, Parser.Listener
}
else
{
ResetFrame resetFrame = new ResetFrame(streamId, ErrorCodes.STREAM_CLOSED_ERROR);
reset(resetFrame, disconnectOnFailure());
if (LOG.isDebugEnabled())
LOG.debug("Ignoring {}, stream #{} not found", frame, streamId);
return false;
}
}