org.jboss.netty.channel
类 Channels

java.lang.Object
  继承者 org.jboss.netty.channel.Channels

public class Channels
extends java.lang.Object

一个提供多种方便方法的关联Channel, ChannelHandler, 和 ChannelPipeline的帮助类.

工厂方法

一直建议使用Channels提供的工厂方法而不是调用实现类型的构造方法.

上游和下游事件的产生

各种各样的事件产生方法被提供用来简单产生上游事件和下游事件.一直建议使用Channels提供的工厂方法而不是通过自己调用 ChannelHandlerContext.sendUpstream(ChannelEvent)ChannelHandlerContext.sendDownstream(ChannelEvent)方法.


方法摘要
static void bind(ChannelHandlerContext ctx, ChannelFuture future, java.net.SocketAddress localAddress)
          发送一个"bind"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.
static ChannelFuture bind(Channel channel, java.net.SocketAddress localAddress)
          发送一个"bind"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.
static ChannelFuture close(Channel channel)
          发送一个"close"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.
static void close(ChannelHandlerContext ctx, ChannelFuture future)
          发送一个"close"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.
static void connect(ChannelHandlerContext ctx, ChannelFuture future, java.net.SocketAddress remoteAddress)
          发送一个"connect"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.
static ChannelFuture connect(Channel channel, java.net.SocketAddress remoteAddress)
          发送一个"connect"请求到指定Channel所属的 ChannelPipeline 里的最后一个 ChannelDownstreamHandler.
static ChannelFuture disconnect(Channel channel)
          发送一个"disconnect"请求到指定Channel所属的 ChannelPipeline 里的最后一个 ChannelDownstreamHandler.
static void disconnect(ChannelHandlerContext ctx, ChannelFuture future)
          发送一个"disconnect"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.
static ChannelFuture failedFuture(Channel channel, java.lang.Throwable cause)
          为指定Channel创建一个已经失败的ChannelFuture.
static void fireChannelBound(ChannelHandlerContext ctx, java.net.SocketAddress localAddress)
          发送一个"channelBound"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.
static void fireChannelBound(Channel channel, java.net.SocketAddress localAddress)
          发送一个"channelBound"事件到指定ChannelChannelPipeline 里的第一个ChannelUpstreamHandler.
static void fireChannelClosed(Channel channel)
          发送一个"channelClosed"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.
static void fireChannelClosed(ChannelHandlerContext ctx)
          发送一个"channelClosed"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.
static void fireChannelConnected(ChannelHandlerContext ctx, java.net.SocketAddress remoteAddress)
          发送一个"channelConnected"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.
static void fireChannelConnected(Channel channel, java.net.SocketAddress remoteAddress)
          发送一个"channelConnected"事件到指定ChannelChannelPipeline里的第一个ChannelUpstreamHandler.
static void fireChannelDisconnected(Channel channel)
          发送一个"channelDisconnected"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.
static void fireChannelDisconnected(ChannelHandlerContext ctx)
          发送一个"channelDisconnected"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.
static void fireChannelInterestChanged(Channel channel)
          发送一个"channelInterestChanged"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.
static void fireChannelInterestChanged(ChannelHandlerContext ctx)
          发送一个"channelInterestChanged"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.
static void fireChannelOpen(Channel channel)
          发送一个"channelOpen"事件到指定ChannelChannelPipeline 里的第一个ChannelUpstreamHandler.如果指定的通道有父通道,一个 "childChannelOpen"事件 也会被发送.
static void fireChannelOpen(ChannelHandlerContext ctx)
          发送一个"channelOpen"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.
static void fireChannelUnbound(Channel channel)
          发送一个"channelUnbound"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.
static void fireChannelUnbound(ChannelHandlerContext ctx)
          发送一个"channelUnbound"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.
static void fireExceptionCaught(ChannelHandlerContext ctx, java.lang.Throwable cause)
          发送一个"exceptionCaught"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.
static void fireExceptionCaught(Channel channel, java.lang.Throwable cause)
          发送一个"exceptionCaught"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.
static void fireMessageReceived(ChannelHandlerContext ctx, java.lang.Object message)
          发送一个"messageReceived"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.
static void fireMessageReceived(ChannelHandlerContext ctx, java.lang.Object message, java.net.SocketAddress remoteAddress)
          发送一个"messageReceived"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.
static void fireMessageReceived(Channel channel, java.lang.Object message)
          发送一个"messageReceived"事件到指定ChannelChannelPipeline里的第一个ChannelUpstreamHandler.
static void fireMessageReceived(Channel channel, java.lang.Object message, java.net.SocketAddress remoteAddress)
          发送一个"messageReceived"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.
static void fireWriteComplete(ChannelHandlerContext ctx, long amount)
          发送一个"writeComplete"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.
static void fireWriteComplete(Channel channel, long amount)
          发送一个"writeComplete"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.
static ChannelFuture future(Channel channel)
          为指定Channel创建一个不可取消的ChannelFuture.
static ChannelFuture future(Channel channel, boolean cancellable)
          为指定的Channel创建一个新的ChannelFuture.
static ChannelPipeline pipeline()
          创建一个新的ChannelPipeline.
static ChannelPipeline pipeline(ChannelHandler... handlers)
          创建一个包含指定ChannelHandlerChannelPipeline.指定的处理器的名称是自动生成的; 第一个处理器的名称是"0",第二个处理器名称是"1",第三个名称是"2",以此类推.
static ChannelPipeline pipeline(ChannelPipeline pipeline)
          创建一个包含与指定管道相同实体的ChannelPipeline.请注意只有名称和ChannelHandler 的引用被复制.没有任何新的ChannelHandler实例被创建.
static ChannelPipelineFactory pipelineFactory(ChannelPipeline pipeline)
          创建一个包含与指定管道相同实体的ChannelPipelineFactory.请注意只有名称和 ChannelHandler 的引用被复制.没有任何新的ChannelHandler实例被创建.
static void setInterestOps(ChannelHandlerContext ctx, ChannelFuture future, int interestOps)
          发送一个"setInterestOps"请求到最接近指定ChannelHandlerContext 关联的下游处理器的 ChannelDownstreamHandler.
static ChannelFuture setInterestOps(Channel channel, int interestOps)
          发送一个"setInterestOps"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.
static ChannelFuture succeededFuture(Channel channel)
          为指定Channel创建一个已经成功的ChannelFuture.
static ChannelFuture unbind(Channel channel)
          发送一个"unbind"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.
static void unbind(ChannelHandlerContext ctx, ChannelFuture future)
          发送一个"unbind"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.
static void write(ChannelHandlerContext ctx, ChannelFuture future, java.lang.Object message)
          发送一个"write"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.
static void write(ChannelHandlerContext ctx, ChannelFuture future, java.lang.Object message, java.net.SocketAddress remoteAddress)
          发送一个"write"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.
static ChannelFuture write(Channel channel, java.lang.Object message)
          发送一个"write"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.
static ChannelFuture write(Channel channel, java.lang.Object message, java.net.SocketAddress remoteAddress)
          发送一个"write"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

pipeline

public static ChannelPipeline pipeline()
创建一个新的ChannelPipeline.


pipeline

public static ChannelPipeline pipeline(ChannelHandler... handlers)
创建一个包含指定ChannelHandlerChannelPipeline.指定的处理器的名称是自动生成的; 第一个处理器的名称是"0",第二个处理器名称是"1",第三个名称是"2",以此类推.


pipeline

public static ChannelPipeline pipeline(ChannelPipeline pipeline)
创建一个包含与指定管道相同实体的ChannelPipeline.请注意只有名称和ChannelHandler 的引用被复制.没有任何新的ChannelHandler实例被创建.


pipelineFactory

public static ChannelPipelineFactory pipelineFactory(ChannelPipeline pipeline)
创建一个包含与指定管道相同实体的ChannelPipelineFactory.请注意只有名称和 ChannelHandler 的引用被复制.没有任何新的ChannelHandler实例被创建.


future

public static ChannelFuture future(Channel channel)
为指定Channel创建一个不可取消的ChannelFuture.


future

public static ChannelFuture future(Channel channel,
                                   boolean cancellable)
为指定的Channel创建一个新的ChannelFuture.

参数:
cancellable - true表示返回的future可以被ChannelFuture.cancel()取消

succeededFuture

public static ChannelFuture succeededFuture(Channel channel)
为指定Channel创建一个已经成功的ChannelFuture.


failedFuture

public static ChannelFuture failedFuture(Channel channel,
                                         java.lang.Throwable cause)
为指定Channel创建一个已经失败的ChannelFuture.

参数:
cause - 失败的原因

fireChannelOpen

public static void fireChannelOpen(Channel channel)
发送一个"channelOpen"事件到指定ChannelChannelPipeline 里的第一个ChannelUpstreamHandler.如果指定的通道有父通道,一个 "childChannelOpen"事件 也会被发送.


fireChannelOpen

public static void fireChannelOpen(ChannelHandlerContext ctx)
发送一个"channelOpen"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.

请注意该方法并不像fireChannelOpen(Channel)方法会触发一个 "childChannelOpen".


fireChannelBound

public static void fireChannelBound(Channel channel,
                                    java.net.SocketAddress localAddress)
发送一个"channelBound"事件到指定ChannelChannelPipeline 里的第一个ChannelUpstreamHandler.

参数:
localAddress - 指定通道绑定的本地地址

fireChannelBound

public static void fireChannelBound(ChannelHandlerContext ctx,
                                    java.net.SocketAddress localAddress)
发送一个"channelBound"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.

参数:
localAddress - 指定通道绑定的本地地址

fireChannelConnected

public static void fireChannelConnected(Channel channel,
                                        java.net.SocketAddress remoteAddress)
发送一个"channelConnected"事件到指定ChannelChannelPipeline里的第一个ChannelUpstreamHandler.

参数:
remoteAddress - 指定通道已连接的远程地址

fireChannelConnected

public static void fireChannelConnected(ChannelHandlerContext ctx,
                                        java.net.SocketAddress remoteAddress)
发送一个"channelConnected"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.

参数:
remoteAddress - 指定通道已连接的远程地址

fireMessageReceived

public static void fireMessageReceived(Channel channel,
                                       java.lang.Object message)
发送一个"messageReceived"事件到指定ChannelChannelPipeline里的第一个ChannelUpstreamHandler.

参数:
message - 接收到的消息

fireMessageReceived

public static void fireMessageReceived(Channel channel,
                                       java.lang.Object message,
                                       java.net.SocketAddress remoteAddress)
发送一个"messageReceived"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.

参数:
message - 接收到的消息
remoteAddress - 接收消息来源的远程地址

fireMessageReceived

public static void fireMessageReceived(ChannelHandlerContext ctx,
                                       java.lang.Object message)
发送一个"messageReceived"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.

参数:
message - 接收到的消息

fireMessageReceived

public static void fireMessageReceived(ChannelHandlerContext ctx,
                                       java.lang.Object message,
                                       java.net.SocketAddress remoteAddress)
发送一个"messageReceived"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.

参数:
message - 接收到的消息
remoteAddress - 接收消息来源的远程地址

fireWriteComplete

public static void fireWriteComplete(Channel channel,
                                     long amount)
发送一个"writeComplete"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.


fireWriteComplete

public static void fireWriteComplete(ChannelHandlerContext ctx,
                                     long amount)
发送一个"writeComplete"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.


fireChannelInterestChanged

public static void fireChannelInterestChanged(Channel channel)
发送一个"channelInterestChanged"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.


fireChannelInterestChanged

public static void fireChannelInterestChanged(ChannelHandlerContext ctx)
发送一个"channelInterestChanged"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.


fireChannelDisconnected

public static void fireChannelDisconnected(Channel channel)
发送一个"channelDisconnected"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.


fireChannelDisconnected

public static void fireChannelDisconnected(ChannelHandlerContext ctx)
发送一个"channelDisconnected"事件到最接近指定ChannelHandlerContext 关联的处理器的 ChannelUpstreamHandler.


fireChannelUnbound

public static void fireChannelUnbound(Channel channel)
发送一个"channelUnbound"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.


fireChannelUnbound

public static void fireChannelUnbound(ChannelHandlerContext ctx)
发送一个"channelUnbound"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.


fireChannelClosed

public static void fireChannelClosed(Channel channel)
发送一个"channelClosed"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.


fireChannelClosed

public static void fireChannelClosed(ChannelHandlerContext ctx)
发送一个"channelClosed"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.


fireExceptionCaught

public static void fireExceptionCaught(Channel channel,
                                       java.lang.Throwable cause)
发送一个"exceptionCaught"事件到指定Channel所属的 ChannelPipeline里的第一个ChannelUpstreamHandler.


fireExceptionCaught

public static void fireExceptionCaught(ChannelHandlerContext ctx,
                                       java.lang.Throwable cause)
发送一个"exceptionCaught"事件到最接近指定ChannelHandlerContext关联的处理器的 ChannelUpstreamHandler.


bind

public static ChannelFuture bind(Channel channel,
                                 java.net.SocketAddress localAddress)
发送一个"bind"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.

参数:
channel - 要绑定的通道
localAddress - 要绑定的本地地址
返回:
返回当绑定操作完成时会被通知的ChannelFuture

bind

public static void bind(ChannelHandlerContext ctx,
                        ChannelFuture future,
                        java.net.SocketAddress localAddress)
发送一个"bind"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.

参数:
ctx - 上下文
future - 当绑定操作完成时会被通知的ChannelFuture
localAddress - 要绑定的本地地址

unbind

public static void unbind(ChannelHandlerContext ctx,
                          ChannelFuture future)
发送一个"unbind"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.

参数:
ctx - 上下文
future - 当取消绑定操作完成时会被通知的ChannelFuture

unbind

public static ChannelFuture unbind(Channel channel)
发送一个"unbind"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.

参数:
channel - 要取消绑定的通道
返回:
返回当取消绑定操作完成时会被通知的ChannelFuture

connect

public static ChannelFuture connect(Channel channel,
                                    java.net.SocketAddress remoteAddress)
发送一个"connect"请求到指定Channel所属的 ChannelPipeline 里的最后一个 ChannelDownstreamHandler.

参数:
channel - 尝试连接的通道
remoteAddress - 要连接的远程地址
返回:
返回当尝试连接完成会被通知的ChannelFuture

connect

public static void connect(ChannelHandlerContext ctx,
                           ChannelFuture future,
                           java.net.SocketAddress remoteAddress)
发送一个"connect"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.

参数:
ctx - 上下文
future - 当尝试连接完成会被通知的ChannelFuture
remoteAddress - 要连接的远程地址

write

public static ChannelFuture write(Channel channel,
                                  java.lang.Object message)
发送一个"write"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.

参数:
channel - 写消息的通道
message - 被写的消息
返回:
返回当写操作完成会被通知的ChannelFuture

write

public static void write(ChannelHandlerContext ctx,
                         ChannelFuture future,
                         java.lang.Object message)
发送一个"write"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.

参数:
ctx - 上下文
future - 当写操作完成会被通知的ChannelFuture

write

public static ChannelFuture write(Channel channel,
                                  java.lang.Object message,
                                  java.net.SocketAddress remoteAddress)
发送一个"write"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.

参数:
channel - 写消息的通道
message - 被写的消息
remoteAddress - 消息的目标地址.null表示使用默认远程地址
返回:
返回当写操作完成会被通知的ChannelFuture

write

public static void write(ChannelHandlerContext ctx,
                         ChannelFuture future,
                         java.lang.Object message,
                         java.net.SocketAddress remoteAddress)
发送一个"write"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.

参数:
ctx - 上下文
future - 当写操作完成会被通知的ChannelFuture
message - 被写的消息
remoteAddress - 消息的目标地址.null表示使用默认远程地址

setInterestOps

public static ChannelFuture setInterestOps(Channel channel,
                                           int interestOps)
发送一个"setInterestOps"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.

参数:
channel - 要改变interestOps的通道
interestOps - 新的interestOps
返回:
返回当interestOps被改变时会被通知的ChannelFuture

setInterestOps

public static void setInterestOps(ChannelHandlerContext ctx,
                                  ChannelFuture future,
                                  int interestOps)
发送一个"setInterestOps"请求到最接近指定ChannelHandlerContext 关联的下游处理器的 ChannelDownstreamHandler.

参数:
ctx - 上下文
future - 当interestOps被改变时会被通知的ChannelFuture.

disconnect

public static ChannelFuture disconnect(Channel channel)
发送一个"disconnect"请求到指定Channel所属的 ChannelPipeline 里的最后一个 ChannelDownstreamHandler.

参数:
channel - 要断开连接的通道
返回:
返回在断开连接时会被通知的ChannelFuture.

disconnect

public static void disconnect(ChannelHandlerContext ctx,
                              ChannelFuture future)
发送一个"disconnect"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.

参数:
ctx - 上下文
future - 在断开连接时会被通知的ChannelFuture

close

public static ChannelFuture close(Channel channel)
发送一个"close"请求到指定Channel所属的 ChannelPipeline里的最后一个 ChannelDownstreamHandler.

参数:
channel - 要关闭的通道
返回:
返回在关闭时会被通知的ChannelFuture.

close

public static void close(ChannelHandlerContext ctx,
                         ChannelFuture future)
发送一个"close"请求到最接近指定ChannelHandlerContext关联的下游处理器的 ChannelDownstreamHandler.

参数:
ctx - 上下文
future - 在关闭时会被通知的ChannelFuture