Package org.drasyl.channel
Class DrasylChannel
java.lang.Object
io.netty.util.DefaultAttributeMap
io.netty.channel.AbstractChannel
org.drasyl.channel.DrasylChannel
- All Implemented Interfaces:
io.netty.channel.Channel
,io.netty.channel.ChannelOutboundInvoker
,io.netty.util.AttributeMap
,Comparable<io.netty.channel.Channel>
public class DrasylChannel
extends io.netty.channel.AbstractChannel
A virtual
Channel
for peer communication.
(Currently) only compatible with NioEventLoop
.
Inspired by LocalChannel
.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.netty.channel.AbstractChannel
io.netty.channel.AbstractChannel.AbstractUnsafe
Nested classes/interfaces inherited from interface io.netty.channel.Channel
io.netty.channel.Channel.Unsafe
-
Constructor Summary
ConstructorDescriptionDrasylChannel
(io.netty.channel.Channel parent, org.drasyl.channel.DrasylChannel.State state, DrasylAddress localAddress, DrasylAddress remoteAddress) DrasylChannel
(DrasylServerChannel parent, DrasylAddress remoteAddress) -
Method Summary
Modifier and TypeMethodDescriptionio.netty.channel.ChannelConfig
config()
protected void
protected void
doBind
(SocketAddress localAddress) protected void
doClose()
protected void
protected void
protected void
doWrite
(io.netty.channel.ChannelOutboundBuffer in) protected Object
boolean
isActive()
protected boolean
isCompatible
(io.netty.channel.EventLoop loop) boolean
Returnstrue
if remote peer is reachable via a direct path.boolean
isOpen()
protected SocketAddress
io.netty.channel.ChannelMetadata
metadata()
protected io.netty.channel.AbstractChannel.AbstractUnsafe
protected SocketAddress
Methods inherited from class io.netty.channel.AbstractChannel
alloc, bind, bind, bytesBeforeUnwritable, bytesBeforeWritable, close, close, closeFuture, compareTo, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, doDeregister, doShutdownOutput, equals, eventLoop, flush, hashCode, id, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, isWritable, localAddress, maxMessagesPerWrite, newChannelPipeline, newFailedFuture, newId, newProgressivePromise, newPromise, newSucceededFuture, parent, pipeline, read, remoteAddress, toString, unsafe, validateFileRegion, voidPromise, write, write, writeAndFlush, writeAndFlush
Methods inherited from class io.netty.util.DefaultAttributeMap
attr, hasAttr
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.netty.util.AttributeMap
attr, hasAttr
-
Constructor Details
-
DrasylChannel
public DrasylChannel(io.netty.channel.Channel parent, org.drasyl.channel.DrasylChannel.State state, DrasylAddress localAddress, DrasylAddress remoteAddress) -
DrasylChannel
-
-
Method Details
-
newUnsafe
protected io.netty.channel.AbstractChannel.AbstractUnsafe newUnsafe()- Specified by:
newUnsafe
in classio.netty.channel.AbstractChannel
-
isCompatible
protected boolean isCompatible(io.netty.channel.EventLoop loop) - Specified by:
isCompatible
in classio.netty.channel.AbstractChannel
-
localAddress0
- Specified by:
localAddress0
in classio.netty.channel.AbstractChannel
-
remoteAddress0
- Specified by:
remoteAddress0
in classio.netty.channel.AbstractChannel
-
doRegister
protected void doRegister()- Overrides:
doRegister
in classio.netty.channel.AbstractChannel
-
doBind
- Specified by:
doBind
in classio.netty.channel.AbstractChannel
-
doDisconnect
protected void doDisconnect()- Specified by:
doDisconnect
in classio.netty.channel.AbstractChannel
-
doClose
protected void doClose()- Specified by:
doClose
in classio.netty.channel.AbstractChannel
-
doBeginRead
protected void doBeginRead()- Specified by:
doBeginRead
in classio.netty.channel.AbstractChannel
-
filterOutboundMessage
- Overrides:
filterOutboundMessage
in classio.netty.channel.AbstractChannel
- Throws:
Exception
-
doWrite
- Specified by:
doWrite
in classio.netty.channel.AbstractChannel
- Throws:
Exception
-
config
public io.netty.channel.ChannelConfig config() -
isOpen
public boolean isOpen() -
isActive
public boolean isActive() -
metadata
public io.netty.channel.ChannelMetadata metadata() -
isDirectPathPresent
public boolean isDirectPathPresent()Returnstrue
if remote peer is reachable via a direct path.- Returns:
true
if remote peer is reachable via a direct path.
-