@Override public AssembledHttpRequest retain() { content.retain(); return this; }
@Override public AssembledHttpRequest retain(int increment) { content.retain(increment); return this; }
@Override public FullHttpRequest retain() { content.retain(); return this; }
@Override public FullHttpRequest retain(int increment) { content.retain(increment); return this; }
public void appendContent(HttpContent msg) { this.contents.add(msg.retain()); if (msg instanceof LastHttpContent) { this.isEnd = true; } }
public void appendContent(HttpContent msg) { this.contents.add(msg.retain()); if (msg instanceof LastHttpContent) { this.isEnd = true; } }
private static void writeBufferedBodyContent(final HttpRequestMessage zuulRequest, final Channel channel) { zuulRequest.getBodyContents().forEach((chunk) -> { channel.write(chunk.retain()); }); }
private static void writeBufferedBodyContent(final HttpResponseMessage zuulResponse, final Channel channel) { zuulResponse.getBodyContents().forEach(chunk -> channel.write(chunk.retain())); }
@Override public ZuulMessage clone() { final ZuulMessageImpl copy = new ZuulMessageImpl(context.clone(), headers.clone()); this.bodyChunks.forEach(chunk -> { chunk.retain(); copy.bufferBodyContents(chunk); }); return copy; }
private static void writeBufferedBodyContent(final HttpRequestMessage zuulRequest, final Channel channel) { zuulRequest.getBodyContents().forEach((chunk) -> { channel.write(chunk.retain()); }); }
private static void writeBufferedBodyContent(final HttpResponseMessage zuulResponse, final Channel channel) { zuulResponse.getBodyContents().forEach(chunk -> channel.write(chunk.retain())); }
@Override public ZuulMessage clone() { final ZuulMessageImpl copy = new ZuulMessageImpl(context.clone(), headers.clone()); this.bodyChunks.forEach(chunk -> { chunk.retain(); copy.bufferBodyContents(chunk); }); return copy; }
@Override public AssembledHttpRequest retain() { content.retain(); return this; }
@Override public AssembledHttpRequest retain(int increment) { content.retain(increment); return this; }
@Override public void onRead(HttpObject httpObject) { if (!_connectionFlowProcessor.isComplete()) { _channelReadCallback.write(httpObject); // Accroding to http://netty.io/wiki/reference-counted-objects.html // When an event loop reads data into a ByteBuf and triggers a channelRead() event with it, // it is the responsibility of the ChannelHandler in the corresponding pipeline to release the buffer. // Since this is the last ChannelHandler, it release the reference-counted after read. So we need to // retain to make sure it will not be released until we stored in scene. if(httpObject instanceof HttpContent){ ((HttpContent)httpObject).retain(); } return; } _channelMediator.readFromClientChannel(httpObject); }
@Override public FullHttpRequest retain() { content.retain(); return this; }
@Override public FullHttpRequest retain() { content.retain(); return this; }
@Override public FullHttpRequest retain(int increment) { content.retain(increment); return this; }
@Override public FullHttpRequest retain() { content.retain(); return this; }