@Override public ChannelFuture newSucceededFuture() { return ctx.newSucceededFuture(); }
@Override public ChannelFuture newSucceededFuture() { return ctx.newSucceededFuture(); }
@Override public ChannelFuture newSucceededFuture() { return ctx.newSucceededFuture(); }
@Override public ChannelFuture newSucceededFuture() { return ctx.newSucceededFuture(); }
@Override public ChannelFuture newSucceededFuture() { return context.newSucceededFuture(); }
private ChannelFuture sendGoAwayFrame( ChannelHandlerContext ctx, SpdySessionStatus status) { if (!sentGoAwayFrame) { sentGoAwayFrame = true; SpdyGoAwayFrame spdyGoAwayFrame = new DefaultSpdyGoAwayFrame(lastGoodStreamId, status); return ctx.writeAndFlush(spdyGoAwayFrame); } else { return ctx.newSucceededFuture(); } }
@Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { for (Integer streamId: spdySession.activeStreams().keySet()) { removeStream(streamId, ctx.newSucceededFuture()); } ctx.fireChannelInactive(); }
@Override public void onRstStreamRead(ChannelHandlerContext ctx, int streamId, long errorCode) throws Http2Exception { Http2Stream stream = connection.stream(streamId); if (stream == null) { verifyStreamMayHaveExisted(streamId); return; } switch(stream.state()) { case IDLE: throw connectionError(PROTOCOL_ERROR, "RST_STREAM received for IDLE stream %d", streamId); case CLOSED: return; // RST_STREAM frames must be ignored for closed streams. default: break; } listener.onRstStreamRead(ctx, streamId, errorCode); lifecycleManager.closeStream(stream, ctx.newSucceededFuture()); }
@Override public ChannelFuture newSucceededFuture() { return ctx.newSucceededFuture(); }
halfCloseStream(streamId, true, ctx.newSucceededFuture()); halfCloseStream(streamId, true, ctx.newSucceededFuture()); removeStream(spdyRstStreamFrame.streamId(), ctx.newSucceededFuture()); halfCloseStream(streamId, true, ctx.newSucceededFuture());
lifecycleManager.closeStreamRemote(stream, ctx.newSucceededFuture());
lifecycleManager.closeStreamRemote(stream, ctx.newSucceededFuture());
@Override public ChannelFuture newSucceededFuture() { return ctx.newSucceededFuture(); }
private ChannelFuture sendGoAwayFrame( ChannelHandlerContext ctx, SpdySessionStatus status) { if (!sentGoAwayFrame) { sentGoAwayFrame = true; SpdyGoAwayFrame spdyGoAwayFrame = new DefaultSpdyGoAwayFrame(lastGoodStreamId, status); return ctx.writeAndFlush(spdyGoAwayFrame); } else { return ctx.newSucceededFuture(); } }
private ChannelFuture sendGoAwayFrame( ChannelHandlerContext ctx, SpdySessionStatus status) { if (!sentGoAwayFrame) { sentGoAwayFrame = true; SpdyGoAwayFrame spdyGoAwayFrame = new DefaultSpdyGoAwayFrame(lastGoodStreamId, status); return ctx.writeAndFlush(spdyGoAwayFrame); } else { return ctx.newSucceededFuture(); } }
private ChannelFuture sendGoAwayFrame( ChannelHandlerContext ctx, SpdySessionStatus status) { if (!sentGoAwayFrame) { sentGoAwayFrame = true; SpdyGoAwayFrame spdyGoAwayFrame = new DefaultSpdyGoAwayFrame(lastGoodStreamId, status); return ctx.writeAndFlush(spdyGoAwayFrame); } else { return ctx.newSucceededFuture(); } }
@Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { for (Integer streamId: spdySession.activeStreams().keySet()) { removeStream(streamId, ctx.newSucceededFuture()); } ctx.fireChannelInactive(); }
@Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { for (Integer streamId: spdySession.activeStreams().keySet()) { removeStream(streamId, ctx.newSucceededFuture()); } ctx.fireChannelInactive(); }
@Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { for (Integer streamId: spdySession.activeStreams().keySet()) { removeStream(streamId, ctx.newSucceededFuture()); } ctx.fireChannelInactive(); }
@Override public void channelInactive(ChannelHandlerContext ctx) throws Exception { for (Integer streamId: spdySession.activeStreams().keySet()) { removeStream(streamId, ctx.newSucceededFuture()); } ctx.fireChannelInactive(); }