Class RotatingNanoIpRoutePlanner
- java.lang.Object
-
- com.sedmelluq.lava.extensions.youtuberotator.planner.AbstractRoutePlanner
-
- com.sedmelluq.lava.extensions.youtuberotator.planner.RotatingNanoIpRoutePlanner
-
- All Implemented Interfaces:
org.apache.http.conn.routing.HttpRoutePlanner
public final class RotatingNanoIpRoutePlanner extends AbstractRoutePlanner
-
-
Field Summary
-
Fields inherited from class com.sedmelluq.lava.extensions.youtuberotator.planner.AbstractRoutePlanner
failingAddresses, ipBlock
-
-
Constructor Summary
Constructors Constructor Description RotatingNanoIpRoutePlanner(java.util.List<IpBlock> ipBlocks)RotatingNanoIpRoutePlanner(java.util.List<IpBlock> ipBlocks, java.util.function.Predicate<java.net.InetAddress> ipFilter)RotatingNanoIpRoutePlanner(java.util.List<IpBlock> ipBlocks, java.util.function.Predicate<java.net.InetAddress> ipFilter, boolean handleSearchFailure)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Tuple<java.net.InetAddress,java.net.InetAddress>determineAddressPair(Tuple<java.net.Inet4Address,java.net.Inet6Address> remoteAddresses)Determines the local and remote address pair to uselonggetAddressIndexInBlock()Returns the address offset for the current nano timejava.math.BigIntegergetCurrentBlock()Returns the current block indexprotected voidonAddressFailure(java.net.InetAddress address)Called when an address is marked as failing-
Methods inherited from class com.sedmelluq.lava.extensions.youtuberotator.planner.AbstractRoutePlanner
determineRoute, freeAddress, freeAllAddresses, getFailingAddresses, getFailingIpsCacheDuration, getIpBlock, getLastAddress, isValidAddress, markAddressFailing, shouldHandleSearchFailure
-
-
-
-
Constructor Detail
-
RotatingNanoIpRoutePlanner
public RotatingNanoIpRoutePlanner(java.util.List<IpBlock> ipBlocks)
-
RotatingNanoIpRoutePlanner
public RotatingNanoIpRoutePlanner(java.util.List<IpBlock> ipBlocks, java.util.function.Predicate<java.net.InetAddress> ipFilter)
-
RotatingNanoIpRoutePlanner
public RotatingNanoIpRoutePlanner(java.util.List<IpBlock> ipBlocks, java.util.function.Predicate<java.net.InetAddress> ipFilter, boolean handleSearchFailure)
-
-
Method Detail
-
getCurrentBlock
public java.math.BigInteger getCurrentBlock()
Returns the current block index- Returns:
- block index which is currently used
-
getAddressIndexInBlock
public long getAddressIndexInBlock()
Returns the address offset for the current nano time- Returns:
- address offset as long
-
determineAddressPair
protected Tuple<java.net.InetAddress,java.net.InetAddress> determineAddressPair(Tuple<java.net.Inet4Address,java.net.Inet6Address> remoteAddresses) throws org.apache.http.HttpException
Description copied from class:AbstractRoutePlannerDetermines the local and remote address pair to use- Specified by:
determineAddressPairin classAbstractRoutePlanner- Parameters:
remoteAddresses- The remote address pair containing IPv4 and IPv6 addresses - which can be null- Returns:
- a
Tuplewhich contains l = localAddress & r = remoteAddress - Throws:
org.apache.http.HttpException- when no route can be determined
-
onAddressFailure
protected void onAddressFailure(java.net.InetAddress address)
Description copied from class:AbstractRoutePlannerCalled when an address is marked as failing- Overrides:
onAddressFailurein classAbstractRoutePlanner- Parameters:
address- the failing address
-
-