public abstract class AbstractRoutePlanner
extends java.lang.Object
implements org.apache.http.conn.routing.HttpRoutePlanner
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<java.lang.String,java.lang.Long> |
failingAddresses |
protected IpBlock |
ipBlock |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractRoutePlanner(java.util.List<IpBlock> ipBlocks,
boolean handleSearchFailure) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract 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
|
org.apache.http.conn.routing.HttpRoute |
determineRoute(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request,
org.apache.http.protocol.HttpContext context) |
void |
freeAddress(java.net.InetAddress address) |
void |
freeAllAddresses() |
java.util.Map<java.lang.String,java.lang.Long> |
getFailingAddresses() |
protected long |
getFailingIpsCacheDuration()
How long a failing address should not be reused in milliseconds
|
IpBlock |
getIpBlock() |
java.net.InetAddress |
getLastAddress(org.apache.http.client.protocol.HttpClientContext context) |
protected boolean |
isValidAddress(java.net.InetAddress address) |
void |
markAddressFailing(org.apache.http.client.protocol.HttpClientContext context) |
protected void |
onAddressFailure(java.net.InetAddress address)
Called when an address is marked as failing
|
boolean |
shouldHandleSearchFailure() |
protected final IpBlock ipBlock
protected final java.util.Map<java.lang.String,java.lang.Long> failingAddresses
protected AbstractRoutePlanner(java.util.List<IpBlock> ipBlocks, boolean handleSearchFailure)
public IpBlock getIpBlock()
public boolean shouldHandleSearchFailure()
public java.util.Map<java.lang.String,java.lang.Long> getFailingAddresses()
public final java.net.InetAddress getLastAddress(org.apache.http.client.protocol.HttpClientContext context)
public final void markAddressFailing(org.apache.http.client.protocol.HttpClientContext context)
public final void freeAddress(java.net.InetAddress address)
public final void freeAllAddresses()
protected final boolean isValidAddress(java.net.InetAddress address)
public org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost host,
org.apache.http.HttpRequest request,
org.apache.http.protocol.HttpContext context)
throws org.apache.http.HttpException
determineRoute in interface org.apache.http.conn.routing.HttpRoutePlannerorg.apache.http.HttpExceptionprotected void onAddressFailure(java.net.InetAddress address)
address - the failing addressprotected long getFailingIpsCacheDuration()
protected abstract Tuple<java.net.InetAddress,java.net.InetAddress> determineAddressPair(Tuple<java.net.Inet4Address,java.net.Inet6Address> remoteAddresses) throws org.apache.http.HttpException
remoteAddresses - The remote address pair containing IPv4 and IPv6 addresses - which can be nullTuple which contains l = localAddress & r = remoteAddressorg.apache.http.HttpException - when no route can be determined