Class InternetDiscoverySuperPeerHandler

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.ChannelDuplexHandler
org.drasyl.handler.remote.internet.InternetDiscoverySuperPeerHandler
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler, io.netty.channel.ChannelOutboundHandler
Direct Known Subclasses:
TraversingInternetDiscoverySuperPeerHandler

public class InternetDiscoverySuperPeerHandler extends io.netty.channel.ChannelDuplexHandler
Operates as a super peer allowing other nodes to join as children. Relays inbound/Route outbound messages to children.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

    io.netty.channel.ChannelHandler.Sharable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Map<DrasylAddress,org.drasyl.handler.remote.internet.InternetDiscoverySuperPeerHandler.ChildrenPeer>
     
    protected final int
     
    protected final ProofOfWork
     
    protected final IdentityPublicKey
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    InternetDiscoverySuperPeerHandler(int myNetworkId, IdentityPublicKey myPublicKey, ProofOfWork myProofOfWork, long pingIntervalMillis, long pingTimeoutMillis, long maxTimeOffsetMillis, HopCount hopLimit)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    channelActive(io.netty.channel.ChannelHandlerContext ctx)
     
    void
    channelInactive(io.netty.channel.ChannelHandlerContext ctx)
     
    void
    channelRead(io.netty.channel.ChannelHandlerContext ctx, Object msg)
     
    protected void
    relayMessage(io.netty.channel.ChannelHandlerContext ctx, InetAddressedMessage<RemoteMessage> addressedMsg, InetSocketAddress inetAddress)
     
    void
    write(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise)
     

    Methods inherited from class io.netty.channel.ChannelDuplexHandler

    bind, close, connect, deregister, disconnect, flush, read

    Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

    channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerAdded, handlerRemoved, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.netty.channel.ChannelHandler

    handlerAdded, handlerRemoved
  • Field Details

    • myNetworkId

      protected final int myNetworkId
    • myPublicKey

      protected final IdentityPublicKey myPublicKey
    • myProofOfWork

      protected final ProofOfWork myProofOfWork
    • childrenPeers

      protected final Map<DrasylAddress,org.drasyl.handler.remote.internet.InternetDiscoverySuperPeerHandler.ChildrenPeer> childrenPeers
  • Constructor Details

    • InternetDiscoverySuperPeerHandler

      public InternetDiscoverySuperPeerHandler(int myNetworkId, IdentityPublicKey myPublicKey, ProofOfWork myProofOfWork, long pingIntervalMillis, long pingTimeoutMillis, long maxTimeOffsetMillis, HopCount hopLimit)
  • Method Details

    • channelActive

      public void channelActive(io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      channelActive in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelActive in class io.netty.channel.ChannelInboundHandlerAdapter
    • channelInactive

      public void channelInactive(io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      channelInactive in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelInactive in class io.netty.channel.ChannelInboundHandlerAdapter
    • channelRead

      public void channelRead(io.netty.channel.ChannelHandlerContext ctx, Object msg)
      Specified by:
      channelRead in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelRead in class io.netty.channel.ChannelInboundHandlerAdapter
    • write

      public void write(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise)
      Specified by:
      write in interface io.netty.channel.ChannelOutboundHandler
      Overrides:
      write in class io.netty.channel.ChannelDuplexHandler
    • relayMessage

      protected void relayMessage(io.netty.channel.ChannelHandlerContext ctx, InetAddressedMessage<RemoteMessage> addressedMsg, InetSocketAddress inetAddress)