private void closeChannel(Channel channel, FlowableEmitter<?> emitter, ChannelFuture channelFuture) { channelFuture.addListener(f -> { try { if (!f.isSuccess()) { emitter.onError(f.cause()); } else { channel.read(); } } finally { if (encoder != null) { encoder.cleanFiles(); } closeChannelAsync(channel); } }); }
/** * @param channel The channel * @param channelPool The channel pool * @param emitter The emitter */ protected void writeAndClose(Channel channel, ChannelPool channelPool, FlowableEmitter<?> emitter) { ChannelFuture channelFuture; if (encoder != null && encoder.isChunked()) { channel.pipeline().replace(HANDLER_STREAM, HANDLER_CHUNK, new ChunkedWriteHandler()); channel.write(nettyRequest); channelFuture = channel.writeAndFlush(encoder); } else { channelFuture = channel.writeAndFlush(nettyRequest); } if (channelPool == null) { closeChannel(channel, emitter, channelFuture); } else { if (encoder != null) { encoder.cleanFiles(); } } }
@Override public void operationComplete(Future<Void> future) throws Exception { encoder.cleanFiles(); } });
@Override public void operationComplete(Future<Void> future) throws Exception { encoder.cleanFiles(); } });
private void closeChannel(Channel channel, FlowableEmitter<?> emitter, ChannelFuture channelFuture) { channelFuture.addListener(f -> { try { if (!f.isSuccess()) { emitter.onError(f.cause()); } else { channel.read(); } } finally { if (encoder != null) { encoder.cleanFiles(); } closeChannelAsync(channel); } }); }
private void closeChannel(Channel channel, FlowableEmitter<?> emitter, ChannelFuture channelFuture) { channelFuture.addListener(f -> { try { if (!f.isSuccess()) { emitter.onError(f.cause()); } else { channel.read(); } } finally { if (encoder != null) { encoder.cleanFiles(); } closeChannelAsync(channel); } }); }
/** * @param channel The channel * @param channelPool The channel pool * @param emitter The emitter */ protected void writeAndClose(Channel channel, ChannelPool channelPool, FlowableEmitter<?> emitter) { ChannelFuture channelFuture; if (encoder != null && encoder.isChunked()) { channel.pipeline().replace(HANDLER_STREAM, HANDLER_CHUNK, new ChunkedWriteHandler()); channel.write(nettyRequest); channelFuture = channel.writeAndFlush(encoder); } else { channelFuture = channel.writeAndFlush(nettyRequest); } if (channelPool == null) { closeChannel(channel, emitter, channelFuture); } else { if (encoder != null) { encoder.cleanFiles(); } } }
/** * @param channel The channel * @param channelPool The channel pool * @param emitter The emitter */ protected void writeAndClose(Channel channel, ChannelPool channelPool, FlowableEmitter<?> emitter) { ChannelFuture channelFuture; if (encoder != null && encoder.isChunked()) { channel.pipeline().replace(HANDLER_STREAM, HANDLER_CHUNK, new ChunkedWriteHandler()); channel.write(nettyRequest); channelFuture = channel.writeAndFlush(encoder); } else { channelFuture = channel.writeAndFlush(nettyRequest); } if (channelPool == null) { closeChannel(channel, emitter, channelFuture); } else { if (encoder != null) { encoder.cleanFiles(); } } }