Class RustDrasylServerChannel

java.lang.Object
io.netty.util.DefaultAttributeMap
io.netty.channel.AbstractChannel
io.netty.channel.AbstractServerChannel
org.drasyl.channel.rs.RustDrasylServerChannel
All Implemented Interfaces:
io.netty.channel.Channel, io.netty.channel.ChannelOutboundInvoker, io.netty.channel.ServerChannel, io.netty.util.AttributeMap, Comparable<io.netty.channel.Channel>, DrasylServerChannel, IdentityChannel

@UnstableApi public class RustDrasylServerChannel extends io.netty.channel.AbstractServerChannel implements DrasylServerChannel
A virtual ServerChannel used for overlay network management. This channel must be bind to an Identity.

(Currently) only compatible with NioEventLoop.

Inspired by LocalServerChannel.

See Also:
  • JavaDrasylChannel
  • 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
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    long
     
    static final byte[]
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    protected void
     
    protected void
     
    protected void
     
    protected void
     
     
     
    int
     
    boolean
     
     
    boolean
     
    protected boolean
    isCompatible(io.netty.channel.EventLoop loop)
     
    boolean
     
    protected DrasylAddress
     
     
    io.netty.channel.ChannelFuture
     

    Methods inherited from class io.netty.channel.AbstractServerChannel

    doDisconnect, doWrite, filterOutboundMessage, metadata, newUnsafe, remoteAddress, remoteAddress0

    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, 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

    Methods inherited from interface io.netty.channel.Channel

    alloc, bytesBeforeUnwritable, bytesBeforeWritable, closeFuture, eventLoop, flush, id, isRegistered, isWritable, localAddress, metadata, parent, pipeline, read, remoteAddress, unsafe

    Methods inherited from interface io.netty.channel.ChannelOutboundInvoker

    bind, bind, close, close, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, voidPromise, write, write, writeAndFlush, writeAndFlush

    Methods inherited from interface java.lang.Comparable

    compareTo
  • Field Details

    • TIMEOUT_SENDER

      public static final byte[] TIMEOUT_SENDER
    • bind

      public long bind
  • Constructor Details

    • RustDrasylServerChannel

      public RustDrasylServerChannel()
  • Method Details

    • isCompatible

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

      public Identity identity()
      Specified by:
      identity in interface IdentityChannel
    • localAddress0

      protected DrasylAddress localAddress0()
      Specified by:
      localAddress0 in class io.netty.channel.AbstractChannel
    • doBind

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

      protected void doRegister() throws Exception
      Overrides:
      doRegister in class io.netty.channel.AbstractChannel
      Throws:
      Exception
    • 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
    • config

      Specified by:
      config in interface io.netty.channel.Channel
      Specified by:
      config in interface DrasylServerChannel
    • isOpen

      public boolean isOpen()
      Specified by:
      isOpen in interface io.netty.channel.Channel
    • isActive

      public boolean isActive()
      Specified by:
      isActive in interface io.netty.channel.Channel
    • newDrasylChannel

      protected RustDrasylChannel newDrasylChannel(DrasylAddress peer)
    • getChannels

      public Map<DrasylAddress,RustDrasylChannel> getChannels()
      Specified by:
      getChannels in interface DrasylServerChannel
    • getChannel

      public RustDrasylChannel getChannel(DrasylAddress peer)
      Specified by:
      getChannel in interface DrasylServerChannel
    • serve

      public io.netty.channel.ChannelFuture serve(DrasylAddress peer)
      Specified by:
      serve in interface DrasylServerChannel
    • getUdpPort

      public int getUdpPort()
    • hasReachableSuperPeer

      public boolean hasReachableSuperPeer()