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

    Constructors
    Constructor
    Description
    DrasylChannel(io.netty.channel.Channel parent, org.drasyl.channel.DrasylChannel.State state, DrasylAddress localAddress, DrasylAddress remoteAddress)
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.netty.channel.ChannelConfig
     
    protected void
     
    protected void
    doBind(SocketAddress localAddress)
     
    protected void
     
    protected void
     
    protected void
     
    protected void
    doWrite(io.netty.channel.ChannelOutboundBuffer in)
     
    protected Object
     
    boolean
     
    protected boolean
    isCompatible(io.netty.channel.EventLoop loop)
     
    boolean
    Returns true if remote peer is reachable via a direct path.
    boolean
     
    protected SocketAddress
     
    io.netty.channel.ChannelMetadata
     
    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

  • Method Details

    • newUnsafe

      protected io.netty.channel.AbstractChannel.AbstractUnsafe newUnsafe()
      Specified by:
      newUnsafe in class io.netty.channel.AbstractChannel
    • isCompatible

      protected boolean isCompatible(io.netty.channel.EventLoop loop)
      Specified by:
      isCompatible in class io.netty.channel.AbstractChannel
    • localAddress0

      protected SocketAddress localAddress0()
      Specified by:
      localAddress0 in class io.netty.channel.AbstractChannel
    • remoteAddress0

      protected SocketAddress remoteAddress0()
      Specified by:
      remoteAddress0 in class io.netty.channel.AbstractChannel
    • doRegister

      protected void doRegister()
      Overrides:
      doRegister in class io.netty.channel.AbstractChannel
    • doBind

      protected void doBind(SocketAddress localAddress)
      Specified by:
      doBind in class io.netty.channel.AbstractChannel
    • doDisconnect

      protected void doDisconnect()
      Specified by:
      doDisconnect in class io.netty.channel.AbstractChannel
    • doClose

      protected void doClose()
      Specified by:
      doClose in class io.netty.channel.AbstractChannel
    • doBeginRead

      protected void doBeginRead()
      Specified by:
      doBeginRead in class io.netty.channel.AbstractChannel
    • filterOutboundMessage

      protected Object filterOutboundMessage(Object msg) throws Exception
      Overrides:
      filterOutboundMessage in class io.netty.channel.AbstractChannel
      Throws:
      Exception
    • doWrite

      protected void doWrite(io.netty.channel.ChannelOutboundBuffer in) throws Exception
      Specified by:
      doWrite in class io.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()
      Returns true if remote peer is reachable via a direct path.
      Returns:
      true if remote peer is reachable via a direct path.