code: public EpollChannelConfig setEpollMode(EpollMode mode) {
          if (mode == null) {
              throw new NullPointerException("mode");
          }
          try {
              switch (mode) {
              case EDGE_TRIGGERED:
                  checkChannelNotRegistered();
                  ((AbstractEpollChannel) channel).setFlag(Native.EPOLLET);
                  break;
              case LEVEL_TRIGGERED:
                  checkChannelNotRegistered();
                  ((AbstractEpollChannel) channel).clearFlag(Native.EPOLLET);
                  break;
              default:
                  throw new Error();
              }
          } catch (IOException e) {
              throw new ChannelException(e);
          }
          return this;
      }
docs: Set the {@link EpollMode} used. Default is
  {@link EpollMode#EDGE_TRIGGERED}. If you want to use {@link #isAutoRead()} {@code false} or
  {@link #getMaxMessagesPerRead()} and have an accurate behaviour you should use
  {@link EpollMode#LEVEL_TRIGGERED}.
  
  <strong>Be aware this config setting can only be adjusted before the channel was registered.</strong>