org.jboss.netty.channel

## Interface ChannelConfig

- All Known Subinterfaces:
    DatagramChannelConfig, NioChannelConfig, NioDatagramChannelConfig, NioSocketChannelConfig, ServerSocketChannelConfig, SocketChannelConfig
  All Known Implementing Classes:
    DefaultChannelConfig, DefaultDatagramChannelConfig, DefaultServerChannelConfig, DefaultServerSocketChannelConfig, DefaultSocketChannelConfig, HttpTunnelingSocketChannelConfig

      public interface ChannelConfig

  A set of configuration properties of a `Channel`.

  Please down-cast to more specific configuration type such as `SocketChannelConfig` or use `setOptions(Map)` to set the transport-specific properties:

       Channel ch = ...;
       SocketChannelConfig cfg = (SocketChannelConfig) ch.getConfig();
       cfg.setTcpNoDelay(false);

  ### Option map

  An option map property is a dynamic write-only property which allows the configuration of a `Channel` without down-casting its associated `ChannelConfig`. To update an option map, please call `setOptions(Map)`.

  All `ChannelConfig` has the following options:

  Name | Associated setter method
  --- | ---
  `"bufferFactory"` | `setBufferFactory(ChannelBufferFactory)`
  `"connectTimeoutMillis"` | `setConnectTimeoutMillis(int)`
  `"pipelineFactory"` | `setPipelineFactory(ChannelPipelineFactory)`

  More options are available in the sub-types of `ChannelConfig`. For example, you can configure the parameters which are specific to a TCP/IP socket as explained in `SocketChannelConfig` or `NioSocketChannelConfig`.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ChannelBufferFactory` | `getBufferFactory()` Returns the default `ChannelBufferFactory` used to create a new `ChannelBuffer`.
    `int` | `getConnectTimeoutMillis()` Returns the connect timeout of the channel in milliseconds.
    `ChannelPipelineFactory` | `getPipelineFactory()` Returns the `ChannelPipelineFactory` which will be used when a child channel is created.
    `void` | `setBufferFactory(ChannelBufferFactory bufferFactory)` Sets the default `ChannelBufferFactory` used to create a new `ChannelBuffer`.
    `void` | `setConnectTimeoutMillis(int connectTimeoutMillis)` Sets the connect timeout of the channel in milliseconds.
    `boolean` | `setOption(String name, Object value)` Sets a configuration property with the specified name and value.
    `void` | `setOptions(Map<String,Object> options)` Sets the configuration properties from the specified `Map`.
    `void` | `setPipelineFactory(ChannelPipelineFactory pipelineFactory)` Sets the `ChannelPipelineFactory` which will be used when a child channel is created.

- - ### Method Detail

    - #### setOptions

          void setOptions(Map<String,Object> options)

      Sets the configuration properties from the specified `Map`.

    - #### setOption

          boolean setOption(String name,
                          Object value)

      Sets a configuration property with the specified name and value. To override this method properly, you must call the super class:

           public boolean setOption(String name, Object value) {
               if (super.setOption(name, value)) {
                   return true;
               }

               if (name.equals("additionalOption")) {
                   ....
                   return true;
               }

               return false;
           }

      Returns:
        `true` if and only if the property has been set

    - #### getBufferFactory

          ChannelBufferFactory getBufferFactory()

      Returns the default `ChannelBufferFactory` used to create a new `ChannelBuffer`. The default is `HeapChannelBufferFactory`. You can specify a different factory to change the default `ByteOrder` for example.

    - #### setBufferFactory

          void setBufferFactory(ChannelBufferFactory bufferFactory)

      Sets the default `ChannelBufferFactory` used to create a new `ChannelBuffer`. The default is `HeapChannelBufferFactory`. You can specify a different factory to change the default `ByteOrder` for example.

    - #### getPipelineFactory

          ChannelPipelineFactory getPipelineFactory()

      Returns the `ChannelPipelineFactory` which will be used when a child channel is created. If the `Channel` does not create a child channel, this property is not used at all, and therefore will be ignored.

    - #### setPipelineFactory

          void setPipelineFactory(ChannelPipelineFactory pipelineFactory)

      Sets the `ChannelPipelineFactory` which will be used when a child channel is created. If the `Channel` does not create a child channel, this property is not used at all, and therefore will be ignored.

    - #### getConnectTimeoutMillis

          int getConnectTimeoutMillis()

      Returns the connect timeout of the channel in milliseconds. If the `Channel` does not support connect operation, this property is not used at all, and therefore will be ignored.
      Returns:
        the connect timeout in milliseconds. `0` if disabled.

    - #### setConnectTimeoutMillis

          void setConnectTimeoutMillis(int connectTimeoutMillis)

      Sets the connect timeout of the channel in milliseconds. If the `Channel` does not support connect operation, this property is not used at all, and therefore will be ignored.
      Parameters:
        `connectTimeoutMillis` - the connect timeout in milliseconds. `0` to disable.

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