Class DcpControlHandler

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.SimpleChannelInboundHandler<T>
com.couchbase.client.dcp.transport.netty.DcpControlHandler
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

public class DcpControlHandler extends com.couchbase.client.core.deps.io.netty.channel.SimpleChannelInboundHandler<T>
Negotiates DCP control flags once connected and removes itself afterwards.
Since:
1.0.0
Author:
Michael Nitschinger
  • 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

    Modifier and Type
    Method
    Description
    void
    bind(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, SocketAddress localAddress, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     
    void
    channelActive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
    Once the channel becomes active, start negotiating the dcp control params.
    void
    channelInactive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
     
    protected void
    channelRead0(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.buffer.ByteBuf msg)
    Since only one feature per req/res can be negotiated, repeat the process once a response comes back until the iterator is complete or a non-success response status is received.
    void
    close(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     
    void
    connect(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, SocketAddress remoteAddress, SocketAddress localAddress, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
    Intercept the connect phase and store the original promise.
    void
    deregister(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     
    void
    disconnect(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise)
     
    void
    exceptionCaught(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Throwable cause)
     
    void
    flush(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
     
    void
    read(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx)
     
    void
    userEventTriggered(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object evt)
     
    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.SimpleChannelInboundHandler

    acceptInboundMessage, channelRead

    Methods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter

    channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged

    Methods inherited from class com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerAdded, handlerRemoved, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler

    handlerAdded, handlerRemoved
  • Method Details

    • channelActive

      public void channelActive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Once the channel becomes active, start negotiating the dcp control params.
      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
      Throws:
      Exception
    • channelRead0

      protected void channelRead0(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.buffer.ByteBuf msg) throws Exception
      Since only one feature per req/res can be negotiated, repeat the process once a response comes back until the iterator is complete or a non-success response status is received.
      Specified by:
      channelRead0 in class com.couchbase.client.core.deps.io.netty.channel.SimpleChannelInboundHandler<com.couchbase.client.core.deps.io.netty.buffer.ByteBuf>
      Throws:
      Exception
    • connect

      public void connect(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, SocketAddress remoteAddress, SocketAddress localAddress, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Intercept the connect phase and store the original promise.
      Specified by:
      connect in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • bind

      public void bind(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, SocketAddress localAddress, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      bind in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • disconnect

      public void disconnect(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      disconnect in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • close

      public void close(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      close in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • deregister

      public void deregister(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, com.couchbase.client.core.deps.io.netty.channel.ChannelPromise promise) throws Exception
      Specified by:
      deregister in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • read

      public void read(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      read in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • 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) throws Exception
      Specified by:
      write in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • flush

      public void flush(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      flush in interface com.couchbase.client.core.deps.io.netty.channel.ChannelOutboundHandler
      Throws:
      Exception
    • exceptionCaught

      public void exceptionCaught(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Throwable cause) throws Exception
      Specified by:
      exceptionCaught in interface com.couchbase.client.core.deps.io.netty.channel.ChannelHandler
      Specified by:
      exceptionCaught in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
      Overrides:
      exceptionCaught in class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • userEventTriggered

      public void userEventTriggered(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx, Object evt) throws Exception
      Specified by:
      userEventTriggered in interface com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandler
      Overrides:
      userEventTriggered in class com.couchbase.client.core.deps.io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • channelInactive

      public void channelInactive(com.couchbase.client.core.deps.io.netty.channel.ChannelHandlerContext ctx) throws Exception
      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
      Throws:
      Exception