Package com.biglybt.core.ipfilter.impl
Class IpFilterImpl
java.lang.Object
com.biglybt.core.ipfilter.impl.IpFilterImpl
- All Implemented Interfaces:
IpFilter
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final FrequencyLimitedDispatcher
(package private) static final AEMonitor
private ByteArrayHashMap<String>
private final CopyOnWriteList<IpFilterExternalHandler>
(package private) boolean
(package private) boolean
private final IPBannerImpl
private static IpFilterImpl
private final IpFilterAutoLoaderImpl
private final LinkedList
private long
(package private) final CopyOnWriteList<IPFilterListener>
protected static final LogIDs
protected static final LogIDs
private static final int
private int
private int
private final IPAddressRangeManagerV4
private final IPAddressRangeManagerV6
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
addBlockedIP
(BlockedIp ip, byte[] torrent_hash, boolean loggable) void
addExcludedHash
(byte[] hash) void
void
void
boolean
boolean
protected void
protected IpRange
checkExternalHandlers
(byte[] torrent_hash, String address) protected IpRange
checkExternalHandlers
(byte[] torrent_hash, InetAddress address) void
void
createRange
(int addressType, boolean sessionOnly) BannedIp[]
getFile()
boolean
static IpFilter
long
protected CopyOnWriteList<IPFilterListener>
int
int
int
int
IpRange[]
boolean
boolean
boolean
boolean
boolean
isInRange
(InetAddress ipAddress, String torrent_name, byte[] torrent_hash, boolean loggable) private void
loadFilters
(boolean allowAsyncDownloading, boolean loadOldWhileAsyncDownloading) protected void
void
reload()
void
reload
(boolean allowAsyncDownloading) void
void
removeExcludedHash
(byte[] hash) void
void
void
removeRange
(IpRange range) void
save()
void
setEnabled
(boolean enabled) void
setInRangeAddressesAreAllowed
(boolean b) protected void
setValidOrNot
(IpRange range, boolean valid) boolean
boolean
-
Field Details
-
LOGID
-
LOGID_NWMAN
-
MAX_BLOCKS_TO_REMEMBER
private static final int MAX_BLOCKS_TO_REMEMBER- See Also:
-
ipFilter
-
class_mon
-
range_manager_v4
-
range_manager_v6
-
ipsBlocked
-
num_ips_blocked
private int num_ips_blocked -
num_ips_blocked_loggable
private int num_ips_blocked_loggable -
last_update_time
private long last_update_time -
ipBanner
-
listenerz
-
external_handlers
-
blockedListChangedDispatcher
-
ipFilterAutoLoader
-
ip_filter_enabled
boolean ip_filter_enabled -
ip_filter_allow
boolean ip_filter_allow -
excluded_hashes
-
-
Constructor Details
-
IpFilterImpl
private IpFilterImpl()
-
-
Method Details
-
getInstance
-
getFile
-
reload
-
reloadSync
- Specified by:
reloadSync
in interfaceIpFilter
- Throws:
Exception
-
reload
- Throws:
Exception
-
save
-
loadFilters
private void loadFilters(boolean allowAsyncDownloading, boolean loadOldWhileAsyncDownloading) throws Exception - Throws:
Exception
-
isInRange
-
isInRange
-
isInRange
-
isInRange
public boolean isInRange(InetAddress ipAddress, String torrent_name, byte[] torrent_hash, boolean loggable) -
checkExternalHandlers
-
checkExternalHandlers
-
addBlockedIP
-
getInRangeAddressesAreAllowed
public boolean getInRangeAddressesAreAllowed()- Specified by:
getInRangeAddressesAreAllowed
in interfaceIpFilter
-
setInRangeAddressesAreAllowed
public void setInRangeAddressesAreAllowed(boolean b) - Specified by:
setInRangeAddressesAreAllowed
in interfaceIpFilter
-
getRanges
-
createRange
- Specified by:
createRange
in interfaceIpFilter
-
addRange
-
removeRange
- Specified by:
removeRange
in interfaceIpFilter
-
getNbRanges
public int getNbRanges()- Specified by:
getNbRanges
in interfaceIpFilter
-
setValidOrNot
-
getNbIpsBlocked
public int getNbIpsBlocked()- Specified by:
getNbIpsBlocked
in interfaceIpFilter
-
getNbIpsBlockedAndLoggable
public int getNbIpsBlockedAndLoggable()- Specified by:
getNbIpsBlockedAndLoggable
in interfaceIpFilter
-
ban
-
getBlockedIps
- Specified by:
getBlockedIps
in interfaceIpFilter
-
clearBlockedIPs
public void clearBlockedIPs()- Specified by:
clearBlockedIPs
in interfaceIpFilter
-
addExcludedHash
public void addExcludedHash(byte[] hash) - Specified by:
addExcludedHash
in interfaceIpFilter
-
removeExcludedHash
public void removeExcludedHash(byte[] hash) - Specified by:
removeExcludedHash
in interfaceIpFilter
-
isEnabled
public boolean isEnabled() -
setEnabled
public void setEnabled(boolean enabled) - Specified by:
setEnabled
in interfaceIpFilter
-
markAsUpToDate
protected void markAsUpToDate() -
getLastUpdateTime
public long getLastUpdateTime()- Specified by:
getLastUpdateTime
in interfaceIpFilter
-
addListener
- Specified by:
addListener
in interfaceIpFilter
-
removeListener
- Specified by:
removeListener
in interfaceIpFilter
-
addExternalHandler
- Specified by:
addExternalHandler
in interfaceIpFilter
-
removeExternalHandler
- Specified by:
removeExternalHandler
in interfaceIpFilter
-
getListeners
-
banListChanged
protected void banListChanged() -
ban
-
clearBannedIps
public void clearBannedIps()- Specified by:
clearBannedIps
in interfaceIpFilter
-
getBannedIps
- Specified by:
getBannedIps
in interfaceIpFilter
-
getNbBannedIps
public int getNbBannedIps()- Specified by:
getNbBannedIps
in interfaceIpFilter
-
unban
-
unban
-