Class DrasylServerChannel

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

@UnstableApi public class DrasylServerChannel extends io.netty.channel.AbstractServerChannel implements IdentityChannel
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:
  • 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
     
  • Method Summary

    Modifier and Type
    Method
    Description
    long
     
     
    protected void
     
    protected void
     
    protected void
     
    protected void
     
    void
    flushMeIfUdpChannelBecomeWritable(io.netty.channel.Channel channel)
     
     
     
     
    boolean
     
    protected boolean
    isCompatible(io.netty.channel.EventLoop loop)
     
    boolean
     
    protected DrasylAddress
     
    protected DrasylChannel
     
    io.netty.util.concurrent.Promise<DrasylChannel>
     
    io.netty.util.concurrent.Promise<DrasylChannel>
    serve(DrasylAddress peer, io.netty.util.concurrent.Promise<DrasylChannel> promise)
     
     
    io.netty.channel.socket.DatagramChannel
     

    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, parent, pipeline, read, 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
  • Constructor Details

    • DrasylServerChannel

      public DrasylServerChannel()
  • 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

      public DrasylServerChannelConfig config()
      Specified by:
      config in interface io.netty.channel.Channel
    • 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 DrasylChannel newDrasylChannel(DrasylAddress peer)
    • getChannels

      public Map<DrasylAddress,DrasylChannel> getChannels()
    • getChannel

      public DrasylChannel getChannel(DrasylAddress peer)
    • serve

      public io.netty.util.concurrent.Promise<DrasylChannel> serve(DrasylAddress peer, io.netty.util.concurrent.Promise<DrasylChannel> promise)
    • serve0

      public DrasylChannel serve0(DrasylAddress peer)
    • serve

      public io.netty.util.concurrent.Promise<DrasylChannel> serve(DrasylAddress peer)
    • udpChannel

      public io.netty.channel.socket.DatagramChannel udpChannel()
    • flushMeIfUdpChannelBecomeWritable

      public void flushMeIfUdpChannelBecomeWritable(io.netty.channel.Channel channel)
    • cachedTimeMillis

      public long cachedTimeMillis()