Class CloseHandler
- java.lang.Object
-
- io.servicetalk.transport.netty.internal.CloseHandler
-
public abstract class CloseHandler extends java.lang.Object
Contract between protocol codecs and a close handler.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CloseHandler.CloseEvent
These events indicate an event was observed from the protocol orChannel
that indicates the end of theChannel
and no further requests should be attempted.static class
CloseHandler.CloseEventObservedException
ClosedChannelException
with additional meta-data to provide more context on what side initiated the close event.static class
CloseHandler.DiscardFurtherInboundEvent
Netty UserEvent to indicate the further inbound data should be discarded.
-
Field Summary
Fields Modifier and Type Field Description static CloseHandler
PROTOCOL_OUTBOUND_CLOSE_HANDLER
static CloseHandler
UNSUPPORTED_PROTOCOL_CLOSE_HANDLER
-
Constructor Summary
Constructors Constructor Description CloseHandler()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static CloseHandler
forPipelinedRequestResponse(boolean client, io.netty.channel.ChannelConfig config)
NewCloseHandler
instance.abstract void
protocolClosingInbound(io.netty.channel.ChannelHandlerContext ctx)
Signal inbound close command observed, to be emitted from theEventLoop
for theChannel
.abstract void
protocolClosingOutbound(io.netty.channel.ChannelHandlerContext ctx)
Signal outbound close command observed, to be emitted from theEventLoop
for theChannel
.abstract void
protocolPayloadBeginInbound(io.netty.channel.ChannelHandlerContext ctx)
Signal begin of inbound payload, to be emitted from theEventLoop
for theChannel
.abstract void
protocolPayloadBeginOutbound(io.netty.channel.ChannelHandlerContext ctx)
Signal begin of outbound payload, to be emitted from theEventLoop
for theChannel
.abstract void
protocolPayloadEndInbound(io.netty.channel.ChannelHandlerContext ctx)
Signal end of inbound payload, to be emitted from theEventLoop
for theChannel
.abstract void
protocolPayloadEndOutbound(io.netty.channel.ChannelHandlerContext ctx)
Signal end of outbound payload, to be emitted from theEventLoop
for theChannel
.abstract void
protocolPayloadEndOutboundSuccess(io.netty.channel.ChannelHandlerContext ctx)
Signal end of outbound payload, once successfully written to theChannel
.
-
-
-
Field Detail
-
UNSUPPORTED_PROTOCOL_CLOSE_HANDLER
public static final CloseHandler UNSUPPORTED_PROTOCOL_CLOSE_HANDLER
-
PROTOCOL_OUTBOUND_CLOSE_HANDLER
public static final CloseHandler PROTOCOL_OUTBOUND_CLOSE_HANDLER
-
-
Method Detail
-
forPipelinedRequestResponse
public static CloseHandler forPipelinedRequestResponse(boolean client, io.netty.channel.ChannelConfig config)
NewCloseHandler
instance.- Parameters:
client
- operation mode,TRUE
forclient
orFALSE
forserver
config
- TheChannelConfig
associated with the channel to create theCloseHandler
for. ThisChannelConfig
maybe modified to ensure the underlying options allow for half-closure.- Returns:
- a new connection close handler with behavior for a pipelined request/response client or server
-
protocolPayloadBeginInbound
public abstract void protocolPayloadBeginInbound(io.netty.channel.ChannelHandlerContext ctx)
Signal begin of inbound payload, to be emitted from theEventLoop
for theChannel
.- Parameters:
ctx
-ChannelHandlerContext
-
protocolPayloadEndInbound
public abstract void protocolPayloadEndInbound(io.netty.channel.ChannelHandlerContext ctx)
Signal end of inbound payload, to be emitted from theEventLoop
for theChannel
.- Parameters:
ctx
-ChannelHandlerContext
-
protocolPayloadBeginOutbound
public abstract void protocolPayloadBeginOutbound(io.netty.channel.ChannelHandlerContext ctx)
Signal begin of outbound payload, to be emitted from theEventLoop
for theChannel
.- Parameters:
ctx
-ChannelHandlerContext
-
protocolPayloadEndOutbound
public abstract void protocolPayloadEndOutbound(io.netty.channel.ChannelHandlerContext ctx)
Signal end of outbound payload, to be emitted from theEventLoop
for theChannel
.- Parameters:
ctx
-ChannelHandlerContext
-
protocolPayloadEndOutboundSuccess
public abstract void protocolPayloadEndOutboundSuccess(io.netty.channel.ChannelHandlerContext ctx)
Signal end of outbound payload, once successfully written to theChannel
.- Parameters:
ctx
-ChannelHandlerContext
-
protocolClosingInbound
public abstract void protocolClosingInbound(io.netty.channel.ChannelHandlerContext ctx)
Signal inbound close command observed, to be emitted from theEventLoop
for theChannel
.- Parameters:
ctx
-ChannelHandlerContext
-
protocolClosingOutbound
public abstract void protocolClosingOutbound(io.netty.channel.ChannelHandlerContext ctx)
Signal outbound close command observed, to be emitted from theEventLoop
for theChannel
.- Parameters:
ctx
-ChannelHandlerContext
-
-