org.jboss.netty.channel.socket.nio

## Interface NioChannelConfig

All Superinterfaces:
  ChannelConfig

All Known Subinterfaces:
  NioDatagramChannelConfig, NioSocketChannelConfig

    public interface NioChannelConfig
    extends ChannelConfig

Special `ChannelConfig` sub-type which offers extra methods which are useful for NIO.

### Method Summary

Methods
`int` `getWriteBufferHighWaterMark()` Returns the high water mark of the write buffer.
`int` `getWriteBufferLowWaterMark()` Returns the low water mark of the write buffer.
`int` `getWriteSpinCount()` Returns the maximum loop count for a write operation until `WritableByteChannel.write(ByteBuffer)` returns a non-zero value.
`void` `setWriteBufferHighWaterMark(int writeBufferHighWaterMark)` Sets the high water mark of the write buffer.
`void` `setWriteBufferLowWaterMark(int writeBufferLowWaterMark)` Sets the low water mark of the write buffer.
`void` `setWriteSpinCount(int writeSpinCount)` Sets the maximum loop count for a write operation until `WritableByteChannel.write(ByteBuffer)` returns a non-zero value.

### Methods inherited from interface org.jboss.netty.channel.ChannelConfig

`getBufferFactory, getConnectTimeoutMillis, getPipelineFactory, setBufferFactory, setConnectTimeoutMillis, setOption, setOptions, setPipelineFactory`

### Method Detail

#### getWriteBufferHighWaterMark

    int getWriteBufferHighWaterMark()

Returns the high water mark of the write buffer. If the number of bytes queued in the write buffer exceeds this value, `Channel.isWritable()` will start to return `false`.

#### setWriteBufferHighWaterMark

    void setWriteBufferHighWaterMark(int writeBufferHighWaterMark)

Sets the high water mark of the write buffer. If the number of bytes queued in the write buffer exceeds this value, `Channel.isWritable()` will start to return `false`.

#### getWriteBufferLowWaterMark

    int getWriteBufferLowWaterMark()

Returns the low water mark of the write buffer. Once the number of bytes queued in the write buffer exceeded the high water mark and then dropped down below this value, `Channel.isWritable()` will start to return `true` again.

#### setWriteBufferLowWaterMark

    void setWriteBufferLowWaterMark(int writeBufferLowWaterMark)

Sets the low water mark of the write buffer. Once the number of bytes queued in the write buffer exceeded the high water mark and then dropped down below this value, `Channel.isWritable()` will start toreturn `true` again.

#### getWriteSpinCount

    int getWriteSpinCount()

Returns the maximum loop count for a write operation until `WritableByteChannel.write(ByteBuffer)` returns a non-zero value. It is similar to what a spin lock is used for in concurrency programming. It improves memory utilization and write throughput depending on the platform that JVM runs on. The default value is `16`.

#### setWriteSpinCount

    void setWriteSpinCount(int writeSpinCount)

Sets the maximum loop count for a write operation until `WritableByteChannel.write(ByteBuffer)` returns a non-zero value. It is similar to what a spin lock is used for in concurrency programming. It improves memory utilization and write throughput depending on the platform that JVM runs on. The default value is `16`.

Throws:
  `IllegalArgumentException` - if the specified value is `0` or less than `0`