@ChannelHandler.Sharable public class RuleBasedIpFilter extends AbstractRemoteAddressFilter<InetSocketAddress>
This class allows one to filter new Channel
s based on the
IpFilterRule
s passed to its constructor. If no rules are provided, all connections
will be accepted.
If you would like to explicitly take action on rejected Channel
s, you should override
AbstractRemoteAddressFilter.channelRejected(ChannelHandlerContext, SocketAddress)
.
Consider using IpSubnetFilter
for better performance while not as
general purpose as this filter.
ChannelHandler.Sharable
Constructor and Description |
---|
RuleBasedIpFilter(boolean acceptIfNotFound,
IpFilterRule... rules)
Create new Instance of
RuleBasedIpFilter and filter incoming connections
based on their IP address and rules applied. |
RuleBasedIpFilter(IpFilterRule... rules)
Create new Instance of
RuleBasedIpFilter and filter incoming connections
based on their IP address and rules applied. |
Modifier and Type | Method and Description |
---|---|
protected boolean |
accept(ChannelHandlerContext ctx,
InetSocketAddress remoteAddress)
This method is called immediately after a
Channel gets registered. |
channelAccepted, channelActive, channelRegistered, channelRejected
channelInactive, channelRead, channelReadComplete, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
handlerAdded, handlerRemoved
public RuleBasedIpFilter(IpFilterRule... rules)
Create new Instance of RuleBasedIpFilter
and filter incoming connections
based on their IP address and rules
applied.
acceptIfNotFound
is set to true
.
rules
- An array of IpFilterRule
containing all rules.public RuleBasedIpFilter(boolean acceptIfNotFound, IpFilterRule... rules)
RuleBasedIpFilter
and filter incoming connections
based on their IP address and rules
applied.acceptIfNotFound
- If true
then accept connection from IP Address if it
doesn't match any rule.rules
- An array of IpFilterRule
containing all rules.protected boolean accept(ChannelHandlerContext ctx, InetSocketAddress remoteAddress) throws Exception
AbstractRemoteAddressFilter
Channel
gets registered.accept
in class AbstractRemoteAddressFilter<InetSocketAddress>
Exception
Copyright © 2008–2024 The Netty Project. All rights reserved.