Class ChunkedMessageHandler<H extends ChunkHeader,ROW extends ChunkRow,T extends ChunkTrailer,R extends ChunkedResponse<H,ROW,T>,REQ extends HttpRequest<H,ROW,T,R>>
- java.lang.Object
-
- com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerAdapter
-
- com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
-
- com.couchbase.client.core.deps.io.netty.channel.ChannelDuplexHandler
-
- com.couchbase.client.core.io.netty.chunk.ChunkedMessageHandler<H,ROW,T,R,REQ>
-
- All Implemented Interfaces:
com.couchbase.client.core.deps.io.netty.channel.ChannelHandler,com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler,com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
- Direct Known Subclasses:
AnalyticsMessageHandler,QueryMessageHandler
@Sharable public abstract class ChunkedMessageHandler<H extends ChunkHeader,ROW extends ChunkRow,T extends ChunkTrailer,R extends ChunkedResponse<H,ROW,T>,REQ extends HttpRequest<H,ROW,T,R>> extends com.couchbase.client.core.deps.io.netty.channel.ChannelDuplexHandlerImplements the chunk stream handling for all generic http stream based services.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedChunkedMessageHandler(BaseEndpoint endpoint, EndpointContext endpointContext, ChunkResponseParser<H,ROW,T> chunkResponseParser)Creates a newChunkedMessageHandler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidchannelActive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)voidchannelInactive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)voidchannelRead(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object msg)voidhandlerRemoved(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)protected Optional<RetryReason>qualifiesForRetry(CouchbaseException exception)Can be implemented by children to not fail a request but rather send it into retry.voidwrite(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object msg, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)-
Methods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelDuplexHandler
bind, close, connect, deregister, disconnect, flush, read
-
Methods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
-
Methods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharable
-
-
-
-
Constructor Detail
-
ChunkedMessageHandler
protected ChunkedMessageHandler(BaseEndpoint endpoint, EndpointContext endpointContext, ChunkResponseParser<H,ROW,T> chunkResponseParser)
Creates a newChunkedMessageHandler.- Parameters:
endpoint- holds the surrounding endpoint.endpointContext- the related endpoint context.chunkResponseParser- the chunk response parser to use for this handler.
-
-
Method Detail
-
write
public void write(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object msg, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)- Specified by:
writein interfacecom.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler- Overrides:
writein classcom.couchbase.client.core.deps.io.netty.channel.ChannelDuplexHandler
-
channelActive
public void channelActive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
- Specified by:
channelActivein interfacecom.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler- Overrides:
channelActivein classcom.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
-
channelRead
public void channelRead(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object msg)- Specified by:
channelReadin interfacecom.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler- Overrides:
channelReadin classcom.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
-
handlerRemoved
public void handlerRemoved(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
- Specified by:
handlerRemovedin interfacecom.couchbase.client.core.deps.io.netty.channel.ChannelHandler- Overrides:
handlerRemovedin classcom.couchbase.client.core.deps.io.netty.channel.ChannelHandlerAdapter
-
channelInactive
public void channelInactive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
- Specified by:
channelInactivein interfacecom.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler- Overrides:
channelInactivein classcom.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
-
qualifiesForRetry
protected Optional<RetryReason> qualifiesForRetry(CouchbaseException exception)
Can be implemented by children to not fail a request but rather send it into retry.- Parameters:
exception- the throwable to check.- Returns:
- a reason if it should be retried - if empty will fail the request.
-
-