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
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.ChannelHandlerContext
wrap
(io.netty.channel.ChannelHandlerContext ctx) io.netty.channel.ChannelFuture
io.netty.channel.ChannelFuture
io.netty.channel.ChannelFuture
writeAndFlush
(Object msg) io.netty.channel.ChannelFuture
writeAndFlush
(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:
write
in interfaceio.netty.channel.ChannelOutboundInvoker
- Overrides:
write
in classDelegatingChannelHandlerContext
-
write
- Specified by:
write
in interfaceio.netty.channel.ChannelOutboundInvoker
- Overrides:
write
in classDelegatingChannelHandlerContext
-
writeAndFlush
- Specified by:
writeAndFlush
in interfaceio.netty.channel.ChannelOutboundInvoker
- Overrides:
writeAndFlush
in classDelegatingChannelHandlerContext
-
writeAndFlush
public io.netty.channel.ChannelFuture writeAndFlush(Object msg, io.netty.channel.ChannelPromise promise) - Specified by:
writeAndFlush
in interfaceio.netty.channel.ChannelOutboundInvoker
- Overrides:
writeAndFlush
in classDelegatingChannelHandlerContext
-