EpollSocketChannelConfig extends EpollChannelConfig implements SocketChannelConfig { public EpollSocketChannelConfig setTcpNotSentLowAt(long tcpNotSentLowAt) { if (tcpNotSentLowAt < 0 || tcpNotSentLowAt > MAX_UINT32_T) { throw new IllegalArgumentException("tcpNotSentLowAt must be a uint32_t"); } Native.setTcpNotSentLowAt(channel.fd().intValue(), (int) tcpNotSentLowAt); return this; } EpollSocketChannelConfig(EpollSocketChannel channel); @Override Map<ChannelOption<?>, Object> getOptions(); @SuppressWarnings("unchecked") @Override T getOption(ChannelOption<T> option); @Override boolean setOption(ChannelOption<T> option, T value); @Override int getReceiveBufferSize(); @Override int getSendBufferSize(); @Override int getSoLinger(); @Override int getTrafficClass(); @Override boolean isKeepAlive(); @Override boolean isReuseAddress(); @Override boolean isTcpNoDelay(); boolean isTcpCork(); long getTcpNotSentLowAt(); int getTcpKeepIdle(); int getTcpKeepIntvl(); int getTcpKeepCnt(); int getTcpUserTimeout(); @Override EpollSocketChannelConfig setKeepAlive(boolean keepAlive); @Override EpollSocketChannelConfig setPerformancePreferences(
            int connectionTime, int latency, int bandwidth); @Override EpollSocketChannelConfig setReceiveBufferSize(int receiveBufferSize); @Override EpollSocketChannelConfig setReuseAddress(boolean reuseAddress); @Override EpollSocketChannelConfig setSendBufferSize(int sendBufferSize); @Override EpollSocketChannelConfig setSoLinger(int soLinger); @Override EpollSocketChannelConfig setTcpNoDelay(boolean tcpNoDelay); EpollSocketChannelConfig setTcpCork(boolean tcpCork); EpollSocketChannelConfig setTcpNotSentLowAt(long tcpNotSentLowAt); @Override EpollSocketChannelConfig setTrafficClass(int trafficClass); EpollSocketChannelConfig setTcpKeepIdle(int seconds); EpollSocketChannelConfig setTcpKeepIntvl(int seconds); EpollSocketChannelConfig setTcpKeepCntl(int probes); EpollSocketChannelConfig setTcpUserTimeout(int milliseconds); EpollSocketChannelConfig setTcpMd5Sig(Map<InetAddress, byte[]> keys); @Override boolean isAllowHalfClosure(); @Override EpollSocketChannelConfig setAllowHalfClosure(boolean allowHalfClosure); @Override EpollSocketChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis); @Override @Deprecated EpollSocketChannelConfig setMaxMessagesPerRead(int maxMessagesPerRead); @Override EpollSocketChannelConfig setWriteSpinCount(int writeSpinCount); @Override EpollSocketChannelConfig setAllocator(ByteBufAllocator allocator); @Override EpollSocketChannelConfig setRecvByteBufAllocator(RecvByteBufAllocator allocator); @Override EpollSocketChannelConfig setAutoRead(boolean autoRead); @Override EpollSocketChannelConfig setAutoClose(boolean autoClose); @Override EpollSocketChannelConfig setWriteBufferHighWaterMark(int writeBufferHighWaterMark); @Override EpollSocketChannelConfig setWriteBufferLowWaterMark(int writeBufferLowWaterMark); @Override EpollSocketChannelConfig setMessageSizeEstimator(MessageSizeEstimator estimator); @Override EpollSocketChannelConfig setEpollMode(EpollMode mode);  }
@Test public void testInvalidHighTcpNotSentLowAt() { try { final long value = 0xFFFFFFFFL + 1; ch.config().setTcpNotSentLowAt(value); } catch (IllegalArgumentException e) { return; } catch (RuntimeException e) { assumeNoException(e); } fail(); }
@Test public void testInvalidLowTcpNotSentLowAt() { try { final long value = -1; ch.config().setTcpNotSentLowAt(value); } catch (IllegalArgumentException e) { return; } catch (RuntimeException e) { assumeNoException(e); } fail(); }