Class PortMapper
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.channel.SimpleChannelInboundHandler<InetAddressedMessage<io.netty.buffer.ByteBuf>>
-
- org.drasyl.handler.remote.portmapper.PortMapper
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
public class PortMapper extends io.netty.channel.SimpleChannelInboundHandler<InetAddressedMessage<io.netty.buffer.ByteBuf>>
This handler tries to create a port forwarding for the UDP server using different methods (PCP, NAT-PMP, UPnP-IGD, etc.). For this purpose, the individual methods are tried one after one. If all methods fail, the program waits forRETRY_DELAY
and then tries all methods again. It never gives up.
-
-
Field Summary
Fields Modifier and Type Field Description static Duration
MAPPING_LIFETIME
static Duration
RETRY_DELAY
-
Constructor Summary
Constructors Constructor Description PortMapper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptInboundMessage(Object msg)
void
channelInactive(io.netty.channel.ChannelHandlerContext ctx)
protected void
channelRead0(io.netty.channel.ChannelHandlerContext ctx, InetAddressedMessage<io.netty.buffer.ByteBuf> msg)
void
userEventTriggered(io.netty.channel.ChannelHandlerContext ctx, Object evt)
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
-
-
-
Method Detail
-
acceptInboundMessage
public boolean acceptInboundMessage(Object msg)
- Overrides:
acceptInboundMessage
in classio.netty.channel.SimpleChannelInboundHandler<InetAddressedMessage<io.netty.buffer.ByteBuf>>
-
channelRead0
protected void channelRead0(io.netty.channel.ChannelHandlerContext ctx, InetAddressedMessage<io.netty.buffer.ByteBuf> msg)
- Specified by:
channelRead0
in classio.netty.channel.SimpleChannelInboundHandler<InetAddressedMessage<io.netty.buffer.ByteBuf>>
-
channelInactive
public void channelInactive(io.netty.channel.ChannelHandlerContext ctx)
- Specified by:
channelInactive
in interfaceio.netty.channel.ChannelInboundHandler
- Overrides:
channelInactive
in classio.netty.channel.ChannelInboundHandlerAdapter
-
userEventTriggered
public void userEventTriggered(io.netty.channel.ChannelHandlerContext ctx, Object evt)
- Specified by:
userEventTriggered
in interfaceio.netty.channel.ChannelInboundHandler
- Overrides:
userEventTriggered
in classio.netty.channel.ChannelInboundHandlerAdapter
-
-