Class OrderedWriteChannelHandlerContext
java.lang.Object
software.amazon.awssdk.http.nio.netty.internal.utils.DelegatingChannelHandlerContext
software.amazon.awssdk.http.nio.netty.internal.utils.OrderedWriteChannelHandlerContext
- All Implemented Interfaces:
io.netty.channel.ChannelHandlerContext,io.netty.channel.ChannelInboundInvoker,io.netty.channel.ChannelOutboundInvoker,io.netty.util.AttributeMap
@SdkInternalApi
public class OrderedWriteChannelHandlerContext
extends DelegatingChannelHandlerContext
An implementation of
ChannelHandlerContext that ensures all writes are performed in the order they are invoked.
This works around https://github.com/netty/netty/issues/7783 where writes by an event loop 'skip ahead' of writes off of the
event loop.-
Method Summary
Modifier and TypeMethodDescriptionstatic io.netty.channel.ChannelHandlerContextwrap(io.netty.channel.ChannelHandlerContext ctx) io.netty.channel.ChannelFutureio.netty.channel.ChannelFutureio.netty.channel.ChannelFuturewriteAndFlush(Object msg) io.netty.channel.ChannelFuturewriteAndFlush(Object msg, io.netty.channel.ChannelPromise promise) Methods inherited from class software.amazon.awssdk.http.nio.netty.internal.utils.DelegatingChannelHandlerContext
alloc, attr, bind, bind, channel, close, close, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, executor, fireChannelActive, fireChannelInactive, fireChannelRead, fireChannelReadComplete, fireChannelRegistered, fireChannelUnregistered, fireChannelWritabilityChanged, fireExceptionCaught, fireUserEventTriggered, flush, handler, hasAttr, isRemoved, name, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, pipeline, read, voidPromise
-
Method Details
-
wrap
public static io.netty.channel.ChannelHandlerContext wrap(io.netty.channel.ChannelHandlerContext ctx) -
write
- Specified by:
writein interfaceio.netty.channel.ChannelOutboundInvoker- Overrides:
writein classDelegatingChannelHandlerContext
-
write
- Specified by:
writein interfaceio.netty.channel.ChannelOutboundInvoker- Overrides:
writein classDelegatingChannelHandlerContext
-
writeAndFlush
- Specified by:
writeAndFlushin interfaceio.netty.channel.ChannelOutboundInvoker- Overrides:
writeAndFlushin classDelegatingChannelHandlerContext
-
writeAndFlush
public io.netty.channel.ChannelFuture writeAndFlush(Object msg, io.netty.channel.ChannelPromise promise) - Specified by:
writeAndFlushin interfaceio.netty.channel.ChannelOutboundInvoker- Overrides:
writeAndFlushin classDelegatingChannelHandlerContext
-