Class BalancingIpRoutePlanner
- java.lang.Object
-
- com.sedmelluq.lava.extensions.youtuberotator.planner.AbstractRoutePlanner
-
- com.sedmelluq.lava.extensions.youtuberotator.planner.BalancingIpRoutePlanner
-
- All Implemented Interfaces:
org.apache.http.conn.routing.HttpRoutePlanner
public class BalancingIpRoutePlanner extends AbstractRoutePlanner
-
-
Field Summary
-
Fields inherited from class com.sedmelluq.lava.extensions.youtuberotator.planner.AbstractRoutePlanner
failingAddresses, ipBlock
-
-
Constructor Summary
Constructors Constructor Description BalancingIpRoutePlanner(java.util.List<IpBlock> ipBlocks)BalancingIpRoutePlanner(java.util.List<IpBlock> ipBlocks, java.util.function.Predicate<java.net.InetAddress> ipFilter)BalancingIpRoutePlanner(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 use-
Methods inherited from class com.sedmelluq.lava.extensions.youtuberotator.planner.AbstractRoutePlanner
determineRoute, freeAddress, freeAllAddresses, getFailingAddresses, getFailingIpsCacheDuration, getIpBlock, getLastAddress, isValidAddress, markAddressFailing, onAddressFailure, shouldHandleSearchFailure
-
-
-
-
Constructor Detail
-
BalancingIpRoutePlanner
public BalancingIpRoutePlanner(java.util.List<IpBlock> ipBlocks)
- Parameters:
ipBlocks- the block to perform balancing over.
-
BalancingIpRoutePlanner
public BalancingIpRoutePlanner(java.util.List<IpBlock> ipBlocks, java.util.function.Predicate<java.net.InetAddress> ipFilter)
- Parameters:
ipBlocks- the block to perform balancing over.ipFilter- function to filter out certain IP addresses picked from the IP block, causing another random to be chosen.
-
BalancingIpRoutePlanner
public BalancingIpRoutePlanner(java.util.List<IpBlock> ipBlocks, java.util.function.Predicate<java.net.InetAddress> ipFilter, boolean handleSearchFailure)
- Parameters:
ipBlocks- the block to perform balancing over.ipFilter- function to filter out certain IP addresses picked from the IP block, causing another random to be chosen.handleSearchFailure- whether a search 429 should trigger the ip as failing
-
-
Method Detail
-
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
-
-