Class ChunkedMessageHandler<H extends ChunkHeader,​ROW extends ChunkRow,​T extends ChunkTrailer,​R extends ChunkedResponse<H,​ROW,​T>,​REQ extends HttpRequest<H,​ROW,​T,​R>>

  • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void channelActive​(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)  
      void channelInactive​(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)  
      void channelRead​(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object msg)  
      void handlerRemoved​(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.
      void write​(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
      • Methods inherited from interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler

        handlerAdded
    • Constructor Detail

      • ChunkedMessageHandler

        protected ChunkedMessageHandler​(BaseEndpoint endpoint,
                                        EndpointContext endpointContext,
                                        ChunkResponseParser<H,​ROW,​T> chunkResponseParser)
        Creates a new ChunkedMessageHandler.
        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:
        write in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
        Overrides:
        write in class com.couchbase.client.core.deps.io.netty.channel.ChannelDuplexHandler
      • channelActive

        public void channelActive​(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
        Specified by:
        channelActive in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
        Overrides:
        channelActive in class com.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:
        channelRead in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
        Overrides:
        channelRead in class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
      • handlerRemoved

        public void handlerRemoved​(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
        Specified by:
        handlerRemoved in interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler
        Overrides:
        handlerRemoved in class com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerAdapter
      • channelInactive

        public void channelInactive​(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
        Specified by:
        channelInactive in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
        Overrides:
        channelInactive in class com.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.