org.jboss.netty.channel
接口 ChannelConfig

所有已知子接口:
DatagramChannelConfig, NioDatagramChannelConfig, NioSocketChannelConfig, ServerSocketChannelConfig, SocketChannelConfig
所有已知实现类:
DefaultChannelConfig, DefaultDatagramChannelConfig, DefaultServerChannelConfig, DefaultServerSocketChannelConfig, DefaultSocketChannelConfig, HttpTunnelingSocketChannelConfig

public interface ChannelConfig

一个通道的配置属性集.

请向下转型成更多的特定的配置类型如 SocketChannelConfig或使用setOptions(Map) 去设置特定传输的属性:

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

选项映射

选项映射是一个允许通道配置不需要向下转型到通道关联的ChannelConfig的动态只写属性.要更新选项映射,请调用 setOptions(Map).

所有ChannelConfig都有以下选项:

名字 关联的设置方法
"bufferFactory" setBufferFactory(ChannelBufferFactory)
"connectTimeoutMillis" setConnectTimeoutMillis(int)
"pipelineFactory" setPipelineFactory(ChannelPipelineFactory)

子类有更多的选项设置.例如, 你可以为指定的TCP/IP套接字设置参数,如SocketChannelConfigNioSocketChannelConfig上所说的 .


方法摘要
 ChannelBufferFactory getBufferFactory()
          返回用于创建ChannelBuffer的默认ChannelBufferFactory.默认是 HeapChannelBufferFactory.
 int getConnectTimeoutMillis()
          返回通道连接超时的毫秒数.如果通道并不支持连接操作,该属性根本不会被使用,因此将被忽略.
 ChannelPipelineFactory getPipelineFactory()
          返回当一个子通道被创建时被使用的ChannelPipelineFactory .如果通道并不创建子通道,该属性根本不会被使用,因此将被忽略.
 void setBufferFactory(ChannelBufferFactory bufferFactory)
          设置用于创建ChannelBuffer的默认ChannelBufferFactory.默认是 HeapChannelBufferFactory.
 void setConnectTimeoutMillis(int connectTimeoutMillis)
          设置通道连接超时的毫秒数.如果通道并不支持连接操作,该属性根本不会被使用,因此将被忽略.
 boolean setOption(java.lang.String name, java.lang.Object value)
          使用指定的name和value设置配置属性.要正确重写该方法,你必须调用父类: public boolean setOption(String name, Object value) { if (super.setOption(name, value)) { return true; } if (name.equals("additionalOption")) { ....
 void setOptions(java.util.Map<java.lang.String,java.lang.Object> options)
          使用指定的Map设置配置属性.
 void setPipelineFactory(ChannelPipelineFactory pipelineFactory)
          设置当一个子通道被创建时被使用的ChannelPipelineFactory .如果通道并不创建子通道,该属性根本不会被使用,因此将被忽略.
 

方法详细信息

setOptions

void setOptions(java.util.Map<java.lang.String,java.lang.Object> options)
使用指定的Map设置配置属性.


setOption

boolean setOption(java.lang.String name,
                  java.lang.Object value)
使用指定的name和value设置配置属性.要正确重写该方法,你必须调用父类:
 public boolean setOption(String name, Object value) {
     if (super.setOption(name, value)) {
         return true;
     }
 
     if (name.equals("additionalOption")) {
         ....
         return true;
     }
 
     return false;
 }
 

返回:
只有当属性被设置才返回true

getBufferFactory

ChannelBufferFactory getBufferFactory()
返回用于创建ChannelBuffer的默认ChannelBufferFactory.默认是 HeapChannelBufferFactory. 你可以指定一个不同的工厂去改变默认的ByteOrder.


setBufferFactory

void setBufferFactory(ChannelBufferFactory bufferFactory)
设置用于创建ChannelBuffer的默认ChannelBufferFactory.默认是 HeapChannelBufferFactory. 你可以指定一个不同的工厂去改变默认的ByteOrder.


getPipelineFactory

ChannelPipelineFactory getPipelineFactory()
返回当一个子通道被创建时被使用的ChannelPipelineFactory .如果通道并不创建子通道,该属性根本不会被使用,因此将被忽略.


setPipelineFactory

void setPipelineFactory(ChannelPipelineFactory pipelineFactory)
设置当一个子通道被创建时被使用的ChannelPipelineFactory .如果通道并不创建子通道,该属性根本不会被使用,因此将被忽略.


getConnectTimeoutMillis

int getConnectTimeoutMillis()
返回通道连接超时的毫秒数.如果通道并不支持连接操作,该属性根本不会被使用,因此将被忽略.

返回:
超时的毫秒数.如果禁止则为0.

setConnectTimeoutMillis

void setConnectTimeoutMillis(int connectTimeoutMillis)
设置通道连接超时的毫秒数.如果通道并不支持连接操作,该属性根本不会被使用,因此将被忽略.

参数:
connectTimeoutMillis - 超时的毫秒数.如果禁止则为0.