protected abstract class AbstractChannel.AbstractUnsafe extends java.lang.Object implements Channel.Unsafe
Unsafe
实现哪些子类必须扩展和使用。
Modifier | Constructor and Description |
---|---|
protected |
AbstractUnsafe() |
Modifier and Type | Method and Description |
---|---|
protected java.lang.Throwable |
annotateConnectException(java.lang.Throwable cause, java.net.SocketAddress remoteAddress)
将远程地址附加到由连接尝试失败引起的异常消息。
|
void |
beginRead()
附表填充第一的入缓冲区的读取操作 ChannelInboundHandler 在ChannelPipeline 。
|
void |
bind(java.net.SocketAddress localAddress, ChannelPromise promise)
绑定 SocketAddress 到Channel 的的ChannelPromise 并通知其一旦其完成。
|
void |
close(ChannelPromise promise)
关闭 ChannelPromise 的Channel ,并在操作完成后通知ChannelPromise 。
|
void |
closeForcibly()
立即关闭 Channel ,但不会触发任何事件。
|
protected void |
closeIfClosed() |
void |
deregister(ChannelPromise promise)
操作完成后,从 EventLoop 注销ChannelPromise 的Channel ,并通知ChannelPromise 。
|
void |
disconnect(ChannelPromise promise)
断开 ChannelFuture 的Channel ,并在操作完成后通知ChannelPromise 。
|
protected boolean |
ensureOpen(ChannelPromise promise) |
void |
flush()
清除通过
Channel.Unsafe.write(Object, ChannelPromise) 预定的所有写入操作。
|
protected void |
flush0() |
java.net.SocketAddress |
localAddress()
返回本地绑定的
SocketAddress 或
null 如果没有)。
|
ChannelOutboundBuffer |
outboundBuffer()
返回 Channel 中的ChannelOutboundBuffer ,其中存储待处理的写入请求。
|
protected java.util.concurrent.Executor |
prepareToClose()
准备关闭 Channel 。
|
RecvByteBufAllocator.Handle |
recvBufAllocHandle()
返回分配的 RecvByteBufAllocator.Handle ,用于在接收数据时分配ByteBuf 。
|
void |
register(EventLoop eventLoop, ChannelPromise promise)
注册 ChannelPromise 的Channel ,并在注册完成后通知ChannelFuture 。
|
java.net.SocketAddress |
remoteAddress()
返回
SocketAddress 其上结合远程或
null 如果未尚未绑定。
|
protected void |
safeSetFailure(ChannelPromise promise, java.lang.Throwable cause)
将指定的
promise 标记为失败。
|
protected void |
safeSetSuccess(ChannelPromise promise)
将指定的
promise 标记为成功。
|
void |
shutdownOutput(ChannelPromise promise)
关闭相应 Channel 的输出部分。
|
ChannelPromise |
voidPromise()
返回一个特殊的ChannelPromise,可以重复使用并传递给 Channel.Unsafe 中的操作。
|
void |
write(java.lang.Object msg, ChannelPromise promise)
计划写入操作。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
connect
public RecvByteBufAllocator.Handle recvBufAllocHandle()
Channel.Unsafe
复制的描述
RecvByteBufAllocator.Handle
,用于在接收数据时分配ByteBuf
。
recvBufAllocHandle
接口
Channel.Unsafe
public final ChannelOutboundBuffer outboundBuffer()
Channel.Unsafe
复制的描述
Channel
的ChannelOutboundBuffer
,其中存储待处理的写入请求。
outboundBuffer
接口
Channel.Unsafe
public final java.net.SocketAddress localAddress()
Channel.Unsafe
复制的描述
SocketAddress
或
null
如果没有)。
localAddress
接口
Channel.Unsafe
public final java.net.SocketAddress remoteAddress()
Channel.Unsafe
复制的描述
SocketAddress
其上结合远程或
null
如果未尚未绑定。
remoteAddress
接口
Channel.Unsafe
public final void register(EventLoop eventLoop, ChannelPromise promise)
Channel.Unsafe
复制的描述
ChannelPromise
的Channel
,并在注册完成后通知ChannelFuture
。
register
接口
Channel.Unsafe
public final void bind(java.net.SocketAddress localAddress, ChannelPromise promise)
Channel.Unsafe
复制的描述
SocketAddress
到Channel
的的ChannelPromise
并通知其一旦其完成。
bind
接口
Channel.Unsafe
public final void disconnect(ChannelPromise promise)
Channel.Unsafe
复制的描述
ChannelFuture
的Channel
,并在操作完成后通知ChannelPromise
。
disconnect
接口
Channel.Unsafe
public final void close(ChannelPromise promise)
Channel.Unsafe
复制的描述
ChannelPromise
的Channel
,并在操作完成后通知ChannelPromise
。
close
接口
Channel.Unsafe
@UnstableApi public final void shutdownOutput(ChannelPromise promise)
Channel
的输出部分。
例如,这将清理ChannelOutboundBuffer
,不允许再写入。
public final void closeForcibly()
Channel.Unsafe
复制的描述
Channel
,但不会触发任何事件。
可能仅在注册尝试失败时才有用。
closeForcibly
接口
Channel.Unsafe
public final void deregister(ChannelPromise promise)
Channel.Unsafe
复制的描述
ChannelPromise
的ChannelPromise
从EventLoop
注销Channel
,并在操作完成后通知ChannelPromise
。
deregister
接口
Channel.Unsafe
public final void beginRead()
Channel.Unsafe
复制的描述
ChannelInboundHandler
在ChannelPipeline
。
如果已经有待处理的读取操作,则此方法不执行任何操作。
beginRead
接口
Channel.Unsafe
public final void write(java.lang.Object msg, ChannelPromise promise)
Channel.Unsafe
复制的描述
write
接口
Channel.Unsafe
public final void flush()
Channel.Unsafe
复制的描述
Channel.Unsafe.write(Object, ChannelPromise)
计划的所有写入操作。
flush
,界面
Channel.Unsafe
protected void flush0()
public final ChannelPromise voidPromise()
Channel.Unsafe
复制的描述
Channel.Unsafe
中的操作。
它永远不会被通知成功或错误,所以只是一个以ChannelPromise
为参数但不想通知的操作的占位符。
voidPromise
接口
Channel.Unsafe
protected final boolean ensureOpen(ChannelPromise promise)
protected final void safeSetSuccess(ChannelPromise promise)
promise
标记为成功。
如果promise
已经完成,请记录一条消息。
protected final void safeSetFailure(ChannelPromise promise, java.lang.Throwable cause)
promise
标记为失败。
如果promise
已经完成,请记录一条消息。
protected final void closeIfClosed()
protected final java.lang.Throwable annotateConnectException(java.lang.Throwable cause, java.net.SocketAddress remoteAddress)
protected java.util.concurrent.Executor prepareToClose()
Channel
。
如果这个方法返回一个Executor
,调用者必须调用Executor.execute(Runnable)
方法与调用任务AbstractChannel.doClose()
对返回Executor
。
如果此方法返回null
, 则必须从调用者线程调用AbstractChannel.doClose()
。
(即EventLoop
)
Copyright © 2008–2018 The Netty Project. All rights reserved.