public class VirtualChannel
extends io.netty.channel.AbstractChannel
Channel for the local transport. This is a bit different than a LocalChannel in regular Netty
as it does not require a client event loop and exposes the client inbound queue directly.
The queue exposed is a blocking queue so that local virtual clients can block on this queue and obtain
messages directly for processing.| Modifier and Type | Field and Description |
|---|---|
protected io.netty.channel.ChannelPromise |
connectPromise |
protected static AtomicReferenceFieldUpdater<VirtualChannel,io.netty.util.concurrent.Future> |
FINISH_READ_FUTURE_UPDATER |
protected io.netty.util.concurrent.Future<?> |
finishReadFuture |
(package private) Queue<Object> |
inboundBuffer |
protected VirtualAddress |
localAddress |
protected boolean |
readInProgress |
protected SocketAddress |
remoteAddress |
protected io.quarkus.netty.runtime.virtual.VirtualChannel.State |
state |
(package private) VirtualClientConnection |
virtualConnection |
protected boolean |
writeInProgress |
| Modifier | Constructor and Description |
|---|---|
protected |
VirtualChannel(VirtualServerChannel parent,
VirtualClientConnection connection) |
| Modifier and Type | Method and Description |
|---|---|
io.netty.channel.ChannelConfig |
config() |
protected void |
doBeginRead() |
protected void |
doBind(SocketAddress localAddress) |
protected void |
doClose() |
protected void |
doDeregister() |
protected void |
doDisconnect() |
protected void |
doRegister() |
protected void |
doWrite(io.netty.channel.ChannelOutboundBuffer in) |
boolean |
isActive() |
protected boolean |
isCompatible(io.netty.channel.EventLoop loop) |
boolean |
isOpen() |
VirtualAddress |
localAddress() |
protected SocketAddress |
localAddress0() |
io.netty.channel.ChannelMetadata |
metadata() |
protected io.netty.channel.AbstractChannel.AbstractUnsafe |
newUnsafe() |
VirtualServerChannel |
parent() |
protected void |
readInbound() |
SocketAddress |
remoteAddress() |
protected SocketAddress |
remoteAddress0() |
alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, compareTo, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, doShutdownOutput, equals, eventLoop, filterOutboundMessage, flush, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, isWritable, newChannelPipeline, newFailedFuture, newId, newProgressivePromise, newPromise, newSucceededFuture, pipeline, read, toString, unsafe, validateFileRegion, voidPromise, write, write, writeAndFlush, writeAndFlushprotected static final AtomicReferenceFieldUpdater<VirtualChannel,io.netty.util.concurrent.Future> FINISH_READ_FUTURE_UPDATER
final VirtualClientConnection virtualConnection
protected volatile io.quarkus.netty.runtime.virtual.VirtualChannel.State state
protected volatile VirtualAddress localAddress
protected volatile SocketAddress remoteAddress
protected volatile io.netty.channel.ChannelPromise connectPromise
protected volatile boolean readInProgress
protected volatile boolean writeInProgress
protected volatile io.netty.util.concurrent.Future<?> finishReadFuture
protected VirtualChannel(VirtualServerChannel parent, VirtualClientConnection connection)
public io.netty.channel.ChannelMetadata metadata()
public io.netty.channel.ChannelConfig config()
public VirtualServerChannel parent()
parent in interface io.netty.channel.Channelparent in class io.netty.channel.AbstractChannelpublic VirtualAddress localAddress()
localAddress in interface io.netty.channel.ChannellocalAddress in class io.netty.channel.AbstractChannelpublic SocketAddress remoteAddress()
remoteAddress in interface io.netty.channel.ChannelremoteAddress in class io.netty.channel.AbstractChannelpublic boolean isOpen()
public boolean isActive()
protected io.netty.channel.AbstractChannel.AbstractUnsafe newUnsafe()
newUnsafe in class io.netty.channel.AbstractChannelprotected boolean isCompatible(io.netty.channel.EventLoop loop)
isCompatible in class io.netty.channel.AbstractChannelprotected SocketAddress localAddress0()
localAddress0 in class io.netty.channel.AbstractChannelprotected SocketAddress remoteAddress0()
remoteAddress0 in class io.netty.channel.AbstractChannelprotected void doRegister()
throws Exception
doRegister in class io.netty.channel.AbstractChannelExceptionprotected void doBind(SocketAddress localAddress) throws Exception
doBind in class io.netty.channel.AbstractChannelExceptionprotected void doDisconnect()
throws Exception
doDisconnect in class io.netty.channel.AbstractChannelExceptionprotected void doClose()
throws Exception
doClose in class io.netty.channel.AbstractChannelExceptionprotected void doDeregister()
throws Exception
doDeregister in class io.netty.channel.AbstractChannelExceptionprotected void readInbound()
protected void doBeginRead()
throws Exception
doBeginRead in class io.netty.channel.AbstractChannelExceptionCopyright © 2021 JBoss by Red Hat. All rights reserved.