Package org.drasyl.handler.remote
Class RateLimiter
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.SimpleChannelInboundHandler<InetAddressedMessage<FullReadMessage<?>>>
org.drasyl.handler.remote.RateLimiter
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
public class RateLimiter
extends io.netty.channel.SimpleChannelInboundHandler<InetAddressedMessage<FullReadMessage<?>>>
This handler rate limits
AcknowledgementMessage
, HelloMessage
, and UniteMessage
messages addressed to us. 1 message per type per sender per 100ms is allowed.
Messages exceeding the rate limit are dropped.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
protected void
channelRead0
(io.netty.channel.ChannelHandlerContext ctx, InetAddressedMessage<FullReadMessage<?>> msg) Methods inherited from class io.netty.channel.SimpleChannelInboundHandler
channelRead
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, 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
-
Constructor Details
-
RateLimiter
public RateLimiter()
-
-
Method Details
-
acceptInboundMessage
- Overrides:
acceptInboundMessage
in classio.netty.channel.SimpleChannelInboundHandler<InetAddressedMessage<FullReadMessage<?>>>
-
channelRead0
protected void channelRead0(io.netty.channel.ChannelHandlerContext ctx, InetAddressedMessage<FullReadMessage<?>> msg) - Specified by:
channelRead0
in classio.netty.channel.SimpleChannelInboundHandler<InetAddressedMessage<FullReadMessage<?>>>
-