public class EmbeddedChannel extends AbstractChannel
Channel实现的基类。
AbstractChannel.AbstractUnsafeChannel.Unsafe| Constructor and Description |
|---|
EmbeddedChannel()
用
EmbeddedChannelId和一个空管道创建一个新实例。
|
EmbeddedChannel(boolean register, boolean hasDisconnect, ChannelHandler... handlers)
使用指定的处理程序初始化管道创建一个新实例。
|
EmbeddedChannel(boolean hasDisconnect, ChannelHandler... handlers)
使用指定的处理程序初始化管道创建一个新实例。
|
EmbeddedChannel(ChannelHandler... handlers)
使用指定的处理程序初始化管道创建一个新实例。
|
EmbeddedChannel(ChannelId channelId)
使用指定的ID和空管道创建一个新实例。
|
EmbeddedChannel(ChannelId channelId, boolean register, boolean hasDisconnect, ChannelHandler... handlers)
创建一个新的实例,将通道ID设置为给定ID,并使用指定的处理程序初始化管道。
|
EmbeddedChannel(ChannelId channelId, boolean hasDisconnect, ChannelConfig config, ChannelHandler... handlers)
创建一个新的实例,将通道ID设置为给定ID,并使用指定的处理程序初始化管道。
|
EmbeddedChannel(ChannelId channelId, boolean hasDisconnect, ChannelHandler... handlers)
创建一个新的实例,将通道ID设置为给定ID,并使用指定的处理程序初始化管道。
|
EmbeddedChannel(ChannelId channelId, ChannelHandler... handlers)
创建一个新的实例,将通道ID设置为给定ID,并使用指定的处理程序初始化管道。
|
| Modifier and Type | Method and Description |
|---|---|
void |
checkException()
检查是否收到任何
Throwable ,如果是这样重新抛出它。
|
ChannelFuture |
close()
请求关闭 Channel,并在操作完成后通知ChannelFuture ,无论是因为操作成功还是由于错误。
|
ChannelFuture |
close(ChannelPromise promise)
请求关闭 Channel,并在操作完成后通知ChannelFuture ,无论是因为操作成功还是由于错误。
|
ChannelConfig |
config()
返回此频道的配置。
|
ChannelFuture |
disconnect()
请求从远程对等方断开连接,并在操作完成后通知 ChannelFuture ,因为操作成功或错误。
|
ChannelFuture |
disconnect(ChannelPromise promise)
请求从远程对等方断开连接,并在操作完成后通知 ChannelFuture ,无论是因为操作成功还是由于错误。
|
protected void |
doBeginRead()
安排读取操作。
|
protected void |
doBind(java.net.SocketAddress localAddress)
将 Channel绑定到SocketAddress
|
protected void |
doClose()
关闭 Channel
|
protected void |
doDisconnect()
将此 Channel从其远程对等方断开
|
protected void |
doRegister()
|
protected void |
doWrite(ChannelOutboundBuffer in)
将给定缓冲区的内容刷新到远程对等体。
|
protected void |
ensureOpen()
确保 Channel已打开,并且不会抛出异常。
|
boolean |
finish()
将此 Channel标记为完成。
|
boolean |
finishAndReleaseAll()
将此 Channel标记为已完成,并释放入站和出站缓冲区中的所有待处理消息。
|
EmbeddedChannel |
flushInbound()
刷新此 Channel的入站。
|
EmbeddedChannel |
flushOutbound()
刷新此 Channel的出站。
|
protected void |
handleInboundMessage(java.lang.Object msg)
针对每个入站消息进行调用。
|
protected void |
handleOutboundMessage(java.lang.Object msg)
针对每个出站消息进行调用。
|
java.util.Queue<java.lang.Object> |
inboundMessages()
返回 Queue ,其中包含Object收到的所有Object 。
|
boolean |
isActive()
如果 Channel处于活动状态且已连接,则返回true 。
|
protected boolean |
isCompatible(EventLoop loop)
如果给定的 EventLoop与此实例兼容,则返回true 。
|
boolean |
isOpen()
如果 Channel已打开并且稍后可能会激活,则返回true
|
java.util.Queue<java.lang.Object> |
lastInboundBuffer()
已过时。
|
java.util.Queue<java.lang.Object> |
lastOutboundBuffer()
已过时。
|
protected java.net.SocketAddress |
localAddress0()
返回本地绑定的
SocketAddress 。
|
ChannelMetadata |
metadata()
返回 ChannelMetadata的的Channel其描述的性质Channel 。
|
protected DefaultChannelPipeline |
newChannelPipeline()
返回一个新的 DefaultChannelPipeline实例。
|
protected AbstractChannel.AbstractUnsafe |
newUnsafe()
创建一个新的 AbstractChannel.AbstractUnsafe实例,该实例将用于Channel的生命周期
|
java.util.Queue<java.lang.Object> |
outboundMessages()
返回 Queue ,其中包含由Object编写的所有Object 。
|
<T> T |
readInbound()
返回从 Channel收到的数据
|
<T> T |
readOutbound()
从出站读取数据。
|
void |
register()
在 Channel上注册这个Channel 。
|
boolean |
releaseInbound()
释放所有缓存入站邮件,并返回
true如果任何人的入缓冲区,
false其他。
|
boolean |
releaseOutbound()
释放所有缓冲出站消息,并返回
true如果任何人在出站缓冲,
false其他。
|
protected java.net.SocketAddress |
remoteAddress0()
返回 SocketAddress其中Channel被连接到。
|
void |
runPendingTasks()
|
long |
runScheduledPendingTasks()
在 EventLoop中为Channel运行所有待处理的计划任务,并在下一个计划任务准备好运行时返回nanoseconds 。
|
Channel.Unsafe |
unsafe()
返回提供不安全操作
的仅供内部使用的对象。
|
boolean |
writeInbound(java.lang.Object... msgs)
将消息写入此 Channel的入站。
|
ChannelFuture |
writeOneInbound(java.lang.Object msg)
向此 Channel的入站写入一条消息,但不刷新它。
|
ChannelFuture |
writeOneInbound(java.lang.Object msg, ChannelPromise promise)
向此 Channel的入站写入一条消息,但不刷新它。
|
ChannelFuture |
writeOneOutbound(java.lang.Object msg)
向此 Channel的出站端写入一条消息,但不会刷新它。
|
ChannelFuture |
writeOneOutbound(java.lang.Object msg, ChannelPromise promise)
向此 Channel的出站端写入一条消息,但不刷新它。
|
boolean |
writeOutbound(java.lang.Object... msgs)
将消息写入此 Channel的出站。
|
alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, closeFuture, compareTo, connect, connect, connect, connect, deregister, deregister, doDeregister, doShutdownOutput, equals, eventLoop, filterOutboundMessage, flush, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, isWritable, localAddress, newFailedFuture, newId, newProgressivePromise, newPromise, newSucceededFuture, parent, pipeline, read, remoteAddress, toString, voidPromise, write, write, writeAndFlush, writeAndFlushattr, hasAttrclone, finalize, getClass, notify, notifyAll, wait, wait, waitattr, hasAttrpublic EmbeddedChannel()
EmbeddedChannelId和一个空管道创建一个新实例。
public EmbeddedChannel(ChannelId channelId)
channelId - 将用于识别此频道的ChannelId
public EmbeddedChannel(ChannelHandler... handlers)
handlers - 将在ChannelPipeline中添加的ChannelHandler
public EmbeddedChannel(boolean hasDisconnect,
ChannelHandler... handlers)
hasDisconnect - false ,如果这Channel将委托disconnect()至close() , false其他。
handlers - 将在ChannelPipeline中添加的ChannelHandler
public EmbeddedChannel(boolean register,
boolean hasDisconnect,
ChannelHandler... handlers)
register - true如果此Channel已在构造函数中注册到EventLoop 。
如果false用户需要拨打register() 。
hasDisconnect - false ,如果这Channel将委托disconnect()至close() , false其他。
handlers - 将在ChannelPipeline中添加的ChannelHandler
public EmbeddedChannel(ChannelId channelId, ChannelHandler... handlers)
channelId - 将用于识别此频道的ChannelId
handlers - 将在ChannelPipeline中添加的ChannelHandler
public EmbeddedChannel(ChannelId channelId, boolean hasDisconnect, ChannelHandler... handlers)
channelId - 将用于识别此频道的ChannelId
hasDisconnect - false如果这Channel将委托disconnect() close() ,否则false 。
handlers - 将在ChannelPipeline中添加的ChannelHandler
public EmbeddedChannel(ChannelId channelId, boolean register, boolean hasDisconnect, ChannelHandler... handlers)
channelId - 将用于识别此频道的ChannelId
register - true如果此Channel已在构造函数中注册到EventLoop 。
如果false用户需要拨打register() 。
hasDisconnect - false ,如果这Channel将委托disconnect()至close() , false其他。
handlers - 将在ChannelPipeline中添加的ChannelHandler
public EmbeddedChannel(ChannelId channelId, boolean hasDisconnect, ChannelConfig config, ChannelHandler... handlers)
channelId - 将用于识别此频道的ChannelId
hasDisconnect - false ,如果这Channel将委托disconnect()至close() , false其他。
config - 将由config()返回的ChannelConfig 。
handlers - 将在ChannelPipeline中添加的ChannelHandler
public void register()
throws java.lang.Exception
Channel上注册这个Channel 。
java.lang.Exception
protected final DefaultChannelPipeline newChannelPipeline()
AbstractChannel
DefaultChannelPipeline实例。
public ChannelMetadata metadata()
Channel复制的描述
ChannelMetadata的的Channel其描述的性质Channel 。
public ChannelConfig config()
Channel复制的描述
public java.util.Queue<java.lang.Object> inboundMessages()
Queue ,其中包含Object收到的所有Object 。
@Deprecated public java.util.Queue<java.lang.Object> lastInboundBuffer()
inboundMessages()
public java.util.Queue<java.lang.Object> outboundMessages()
Queue ,它包含由Object编写的所有Object 。
@Deprecated public java.util.Queue<java.lang.Object> lastOutboundBuffer()
outboundMessages()
public <T> T readInbound()
Channel收到的数据
public <T> T readOutbound()
null读取,则可能会返回null 。
public boolean writeInbound(java.lang.Object... msgs)
Channel的入站。
msgs - 要写入的消息
true如果写入操作确实向入站缓冲区添加了某些内容
public ChannelFuture writeOneInbound(java.lang.Object msg)
Channel的入站写入一条消息,但不刷新它。
该方法在概念上等同于AbstractChannel.write(Object) 。
writeOneOutbound(Object)
public ChannelFuture writeOneInbound(java.lang.Object msg, ChannelPromise promise)
Channel的入站写入一条消息,但不刷新它。
该方法在概念上等同于AbstractChannel.write(Object, ChannelPromise) 。
public EmbeddedChannel flushInbound()
Channel的入站。
该方法在概念上等同于AbstractChannel.flush() 。
flushOutbound()
public boolean writeOutbound(java.lang.Object... msgs)
Channel的出站。
msgs - 要写入的消息
true
public ChannelFuture writeOneOutbound(java.lang.Object msg)
Channel的出站端写入一条消息,但不刷新它。
该方法在概念上等同于AbstractChannel.write(Object) 。
writeOneInbound(Object)
public ChannelFuture writeOneOutbound(java.lang.Object msg, ChannelPromise promise)
Channel的出站端写入一条消息,但不刷新它。
该方法在概念上等同于AbstractChannel.write(Object, ChannelPromise) 。
public EmbeddedChannel flushOutbound()
Channel的出站。
该方法在概念上等同于AbstractChannel.flush() 。
flushInbound()
public boolean finish()
Channel标记为完成。
进一步尝试写入数据将失败。
true则bufferReadable返回
true
public boolean finishAndReleaseAll()
Channel标记为已完成,并释放入站和出站缓冲区中的所有待处理消息。
进一步尝试写入数据将失败。
true则bufferReadable返回
true
public boolean releaseInbound()
true如果任何人的入缓冲区,
false其他。
public boolean releaseOutbound()
true如果任何人在出站缓冲,
false其他。
public final ChannelFuture close()
ChannelOutboundInvoker
Channel并通知ChannelFuture ,无论是因为操作成功还是由于错误。
关闭后不可能再次使用它。
这将导致在具有ChannelOutboundHandler.close(ChannelHandlerContext, ChannelPromise)方法称为下一个的ChannelOutboundHandler包含在ChannelPipeline的的Channel 。
close在界面
ChannelOutboundInvoker
close上课
AbstractChannel
public final ChannelFuture disconnect()
ChannelOutboundInvoker
ChannelFuture ,无论是因为操作成功还是由于错误。
这将导致在具有ChannelOutboundHandler.disconnect(ChannelHandlerContext, ChannelPromise)方法称为下一个的ChannelOutboundHandler包含在ChannelPipeline的的Channel 。
disconnect在界面
ChannelOutboundInvoker
disconnect在课堂上
AbstractChannel
public final ChannelFuture close(ChannelPromise promise)
ChannelOutboundInvoker
Channel,并在操作完成后通知ChannelFuture ,无论是因为操作成功还是由于错误。
关闭后不可能再次使用它。
给定的ChannelPromise将被通知。
这将导致在具有ChannelOutboundHandler.close(ChannelHandlerContext, ChannelPromise)方法称为下一个的ChannelOutboundHandler包含在ChannelPipeline的的Channel 。
close ,界面
ChannelOutboundInvoker
close在课堂上
AbstractChannel
public final ChannelFuture disconnect(ChannelPromise promise)
ChannelOutboundInvoker
ChannelFuture ,无论是因为操作成功还是由于错误。
给定的ChannelPromise将被通知。
这将导致在具有ChannelOutboundHandler.disconnect(ChannelHandlerContext, ChannelPromise)方法称为下一个的ChannelOutboundHandler包含在ChannelPipeline的的Channel 。
disconnect在界面
ChannelOutboundInvoker
disconnect在课堂上
AbstractChannel
public void runPendingTasks()
public long runScheduledPendingTasks()
public void checkException()
Throwable收到,如果是这样重新抛出它。
protected final void ensureOpen()
Channel已打开,并且不会抛出异常。
protected boolean isCompatible(EventLoop loop)
AbstractChannel
EventLoop与此实例兼容,则返回true 。
isCompatible ,班级
AbstractChannel
protected java.net.SocketAddress localAddress0()
AbstractChannel
SocketAddress 。
localAddress0在课堂上
AbstractChannel
protected java.net.SocketAddress remoteAddress0()
AbstractChannel
SocketAddress其中Channel被连接到。
remoteAddress0 class
AbstractChannel
protected void doRegister()
throws java.lang.Exception
AbstractChannel
doRegister在课堂
AbstractChannel
java.lang.Exception
protected void doBind(java.net.SocketAddress localAddress)
throws java.lang.Exception
AbstractChannel
Channel绑定到SocketAddress
doBind在课堂
AbstractChannel
java.lang.Exception
protected void doDisconnect()
throws java.lang.Exception
AbstractChannel
Channel从其远程对等方断开
doDisconnect在课堂上
AbstractChannel
java.lang.Exception
protected void doClose()
throws java.lang.Exception
AbstractChannel
Channel
doClose在课堂上
AbstractChannel
java.lang.Exception
protected void doBeginRead()
throws java.lang.Exception
AbstractChannel
doBeginRead类
AbstractChannel
java.lang.Exception
protected AbstractChannel.AbstractUnsafe newUnsafe()
AbstractChannel
AbstractChannel.AbstractUnsafe实例,该实例将用于Channel的生命周期
newUnsafe在课堂上
AbstractChannel
public Channel.Unsafe unsafe()
Channel
unsafe ,界面
Channel
unsafe在课堂上
AbstractChannel
protected void doWrite(ChannelOutboundBuffer in) throws java.lang.Exception
AbstractChannel
doWrite在课堂上
AbstractChannel
java.lang.Exception
protected void handleOutboundMessage(java.lang.Object msg)
protected void handleInboundMessage(java.lang.Object msg)
Copyright © 2008–2018 The Netty Project. All rights reserved.