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.ChannelDuplexHandler
Implements the chunk stream handling for all generic http stream based services.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler
com.couchbase.client.core.deps.io.netty.channel.ChannelHandler.Sharable -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedChunkedMessageHandler(BaseEndpoint endpoint, EndpointContext endpointContext, ChunkResponseParser<H, ROW, T> chunkResponseParser) Creates a newChunkedMessageHandler. -
Method Summary
Modifier and TypeMethodDescriptionvoidchannelActive(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, readMethods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredMethods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharableMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler
handlerAdded
-
Constructor Details
-
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 Details
-
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
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.
-