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
    Modifier and Type | Method and Description
    --- | ---
    `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`

Copyright © 2008-2012 The Netty Project. All Rights Reserved.