protected abstract class AbstractChannel.AbstractUnsafe extends Object implements Channel.Unsafe
Unsafe implementation which sub-classes must extend and use.| Modifier | Constructor and Description |
|---|---|
protected |
AbstractUnsafe() |
| Modifier and Type | Method and Description |
|---|---|
protected Throwable |
annotateConnectException(Throwable cause,
SocketAddress remoteAddress)
Appends the remote address to the message of the exceptions caused by connection attempt failure.
|
void |
beginRead()
Schedules a read operation that fills the inbound buffer of the first
ChannelInboundHandler in the
ChannelPipeline. |
void |
bind(SocketAddress localAddress,
ChannelPromise promise)
|
void |
close(ChannelPromise promise)
Close the
Channel of the ChannelPromise and notify the ChannelPromise once the
operation was complete. |
void |
closeForcibly()
Closes the
Channel immediately without firing any events. |
protected void |
closeIfClosed() |
void |
deregister(ChannelPromise promise)
Deregister the
Channel of the ChannelPromise from EventLoop and notify the
ChannelPromise once the operation was complete. |
void |
disconnect(ChannelPromise promise)
Disconnect the
Channel of the ChannelFuture and notify the ChannelPromise once the
operation was complete. |
protected boolean |
ensureOpen(ChannelPromise promise) |
void |
flush()
Flush out all write operations scheduled via
Channel.Unsafe.write(Object, ChannelPromise). |
protected void |
flush0() |
protected void |
handleWriteError(Throwable t) |
SocketAddress |
localAddress()
Return the
SocketAddress to which is bound local or
null if none. |
ChannelOutboundBuffer |
outboundBuffer()
Returns the
ChannelOutboundBuffer of the Channel where the pending write requests are stored. |
protected Executor |
prepareToClose()
Prepares to close the
Channel. |
RecvByteBufAllocator.Handle |
recvBufAllocHandle()
Return the assigned
RecvByteBufAllocator.Handle which will be used to allocate ByteBuf's when
receiving data. |
void |
register(EventLoop eventLoop,
ChannelPromise promise)
Register the
Channel of the ChannelPromise and notify
the ChannelFuture once the registration was complete. |
SocketAddress |
remoteAddress()
Return the
SocketAddress to which is bound remote or
null if none is bound yet. |
protected void |
safeSetFailure(ChannelPromise promise,
Throwable cause)
Marks the specified
promise as failure. |
protected void |
safeSetSuccess(ChannelPromise promise)
Marks the specified
promise as success. |
void |
shutdownOutput(ChannelPromise promise)
Shutdown the output portion of the corresponding
Channel. |
ChannelPromise |
voidPromise()
Return a special ChannelPromise which can be reused and passed to the operations in
Channel.Unsafe. |
void |
write(Object msg,
ChannelPromise promise)
Schedules a write operation.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitconnectpublic RecvByteBufAllocator.Handle recvBufAllocHandle()
Channel.UnsafeRecvByteBufAllocator.Handle which will be used to allocate ByteBuf's when
receiving data.recvBufAllocHandle in interface Channel.Unsafepublic final ChannelOutboundBuffer outboundBuffer()
Channel.UnsafeChannelOutboundBuffer of the Channel where the pending write requests are stored.outboundBuffer in interface Channel.Unsafepublic final SocketAddress localAddress()
Channel.UnsafeSocketAddress to which is bound local or
null if none.localAddress in interface Channel.Unsafepublic final SocketAddress remoteAddress()
Channel.UnsafeSocketAddress to which is bound remote or
null if none is bound yet.remoteAddress in interface Channel.Unsafepublic final void register(EventLoop eventLoop, ChannelPromise promise)
Channel.UnsafeChannel of the ChannelPromise and notify
the ChannelFuture once the registration was complete.register in interface Channel.Unsafepublic final void bind(SocketAddress localAddress, ChannelPromise promise)
Channel.Unsafebind in interface Channel.Unsafepublic final void disconnect(ChannelPromise promise)
Channel.UnsafeChannel of the ChannelFuture and notify the ChannelPromise once the
operation was complete.disconnect in interface Channel.Unsafepublic void close(ChannelPromise promise)
Channel.UnsafeChannel of the ChannelPromise and notify the ChannelPromise once the
operation was complete.close in interface Channel.Unsafepublic final void shutdownOutput(ChannelPromise promise)
Channel.
For example this will clean up the ChannelOutboundBuffer and not allow any more writes.public final void closeForcibly()
Channel.UnsafeChannel immediately without firing any events. Probably only useful
when registration attempt failed.closeForcibly in interface Channel.Unsafepublic final void deregister(ChannelPromise promise)
Channel.UnsafeChannel of the ChannelPromise from EventLoop and notify the
ChannelPromise once the operation was complete.deregister in interface Channel.Unsafepublic final void beginRead()
Channel.UnsafeChannelInboundHandler in the
ChannelPipeline. If there's already a pending read operation, this method does nothing.beginRead in interface Channel.Unsafepublic final void write(Object msg, ChannelPromise promise)
Channel.Unsafewrite in interface Channel.Unsafepublic final void flush()
Channel.UnsafeChannel.Unsafe.write(Object, ChannelPromise).flush in interface Channel.Unsafeprotected void flush0()
protected final void handleWriteError(Throwable t)
public final ChannelPromise voidPromise()
Channel.UnsafeChannel.Unsafe.
It will never be notified of a success or error and so is only a placeholder for operations
that take a ChannelPromise as argument but for which you not want to get notified.voidPromise in interface Channel.Unsafeprotected final boolean ensureOpen(ChannelPromise promise)
protected final void safeSetSuccess(ChannelPromise promise)
promise as success. If the promise is done already, log a message.protected final void safeSetFailure(ChannelPromise promise, Throwable cause)
promise as failure. If the promise is done already, log a message.protected final void closeIfClosed()
protected final Throwable annotateConnectException(Throwable cause, SocketAddress remoteAddress)
protected Executor prepareToClose()
Channel. If this method returns an Executor, the
caller must call the Executor.execute(Runnable) method with a task that calls
AbstractChannel.doClose() on the returned Executor. If this method returns null,
AbstractChannel.doClose() must be called from the caller thread. (i.e. EventLoop)Copyright © 2008–2025 The Netty Project. All rights reserved.