Class InternetDiscoveryChildrenHandler
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.ChannelDuplexHandler
org.drasyl.handler.remote.internet.InternetDiscoveryChildrenHandler
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler,io.netty.channel.ChannelOutboundHandler
- Direct Known Subclasses:
TraversingInternetDiscoveryChildrenHandler
public class InternetDiscoveryChildrenHandler
extends io.netty.channel.ChannelDuplexHandler
Joins one or multiple super peer(s) as a children. Uses the super peer with the best RTT as a
default gateway for outbound messages.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classNested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected InetSocketAddressprotected final LongSupplierprotected final longprotected final intprotected final ProofOfWorkprotected final IdentityPublicKeyprotected final DuplicatePathEventFilterprotected final longprotected final Map<IdentityPublicKey,InternetDiscoveryChildrenHandler.SuperPeer> -
Constructor Summary
ConstructorsConstructorDescriptionInternetDiscoveryChildrenHandler(int myNetworkId, IdentityPublicKey myPublicKey, IdentitySecretKey mySecretKey, ProofOfWork myProofOfWork, long initialPingDelayMillis, long pingIntervalMillis, long pingTimeoutMillis, long maxTimeOffsetMillis, Map<IdentityPublicKey, InetSocketAddress> superPeerAddresses) InternetDiscoveryChildrenHandler(int myNetworkId, IdentityPublicKey myPublicKey, IdentitySecretKey mySecretKey, ProofOfWork myProofOfWork, LongSupplier currentTime, long initialPingDelayMillis, long pingIntervalMillis, long pingTimeoutMillis, long maxTimeOffsetMillis, Map<IdentityPublicKey, InetSocketAddress> superPeerAddresses) -
Method Summary
Modifier and TypeMethodDescriptionvoidchannelActive(io.netty.channel.ChannelHandlerContext ctx) voidchannelInactive(io.netty.channel.ChannelHandlerContext ctx) voidchannelRead(io.netty.channel.ChannelHandlerContext ctx, Object msg) protected Set<InetSocketAddress>protected booleanvoiduserEventTriggered(io.netty.channel.ChannelHandlerContext ctx, Object evt) voidwrite(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise) protected voidwriteHelloMessage(io.netty.channel.ChannelHandlerContext ctx, DrasylAddress publicKey, InetSocketAddress inetAddress, Set<InetSocketAddress> privateInetAddresses) Make sure to callChannel.flush()by your own!Methods inherited from class io.netty.channel.ChannelDuplexHandler
bind, close, connect, deregister, disconnect, flush, readMethods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaughtMethods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharableMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.netty.channel.ChannelHandler
handlerAdded, handlerRemoved
-
Field Details
-
myNetworkId
protected final int myNetworkId -
myPublicKey
-
myProofOfWork
-
currentTime
-
pingTimeoutMillis
protected final long pingTimeoutMillis -
maxTimeOffsetMillis
protected final long maxTimeOffsetMillis -
superPeers
-
pathEventFilter
-
bindAddress
-
-
Constructor Details
-
InternetDiscoveryChildrenHandler
public InternetDiscoveryChildrenHandler(int myNetworkId, IdentityPublicKey myPublicKey, IdentitySecretKey mySecretKey, ProofOfWork myProofOfWork, LongSupplier currentTime, long initialPingDelayMillis, long pingIntervalMillis, long pingTimeoutMillis, long maxTimeOffsetMillis, Map<IdentityPublicKey, InetSocketAddress> superPeerAddresses) -
InternetDiscoveryChildrenHandler
public InternetDiscoveryChildrenHandler(int myNetworkId, IdentityPublicKey myPublicKey, IdentitySecretKey mySecretKey, ProofOfWork myProofOfWork, long initialPingDelayMillis, long pingIntervalMillis, long pingTimeoutMillis, long maxTimeOffsetMillis, Map<IdentityPublicKey, InetSocketAddress> superPeerAddresses)
-
-
Method Details
-
channelActive
public void channelActive(io.netty.channel.ChannelHandlerContext ctx) - Specified by:
channelActivein interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelActivein classio.netty.channel.ChannelInboundHandlerAdapter
-
channelInactive
public void channelInactive(io.netty.channel.ChannelHandlerContext ctx) - Specified by:
channelInactivein interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelInactivein classio.netty.channel.ChannelInboundHandlerAdapter
-
channelRead
- Specified by:
channelReadin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelReadin classio.netty.channel.ChannelInboundHandlerAdapter
-
write
public void write(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise) - Specified by:
writein interfaceio.netty.channel.ChannelOutboundHandler- Overrides:
writein classio.netty.channel.ChannelDuplexHandler
-
userEventTriggered
- Specified by:
userEventTriggeredin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
userEventTriggeredin classio.netty.channel.ChannelInboundHandlerAdapter
-
getPrivateAddresses
-
writeHelloMessage
protected void writeHelloMessage(io.netty.channel.ChannelHandlerContext ctx, DrasylAddress publicKey, InetSocketAddress inetAddress, Set<InetSocketAddress> privateInetAddresses) Make sure to callChannel.flush()by your own! -
isUnexpectedMessage
-