code: @Override
    protected void channelRead0(final ChannelHandlerContext ctx, final ByteBuf msg) throws Exception {
      ResponseStatus status = MessageUtil.getResponseStatus(msg);
      if (status.isSuccess()) {
        step++;
        switch (step) {
          case HELLO:
            hello(ctx, msg);
            break;
          case SELECT:
            select(ctx);
            break;
          case OPEN:
            open(ctx);
            break;
          case REMOVE:
            remove(ctx);
            break;
          default:
            originalPromise().setFailure(new IllegalStateException("Unidentified DcpConnection step " + step));
            break;
        }
      } else {
        originalPromise().setFailure(new IllegalStateException("Could not open DCP Connection: Failed in the "
            + toString(step) + " step, response status is " + status));
      }
    }
docs: Once we get a response from the connect request, check if it is successful and complete/fail the connect
  phase accordingly.