Interface RouteInfo

  • All Known Implementing Classes:
    HttpRoute, RouteTracker

    public interface RouteInfo
    Read-only interface for route information.
    Since:
    4.0
    • Method Detail

      • getTargetHost

        HttpHost getTargetHost()
        Obtains the target host.
        Returns:
        the target host
      • getLocalAddress

        java.net.InetAddress getLocalAddress()
        Obtains the local address to connect from.
        Returns:
        the local address, or null
      • getHopCount

        int getHopCount()
        Obtains the number of hops in this route. A direct route has one hop. A route through a proxy has two hops. A route through a chain of n proxies has n+1 hops.
        Returns:
        the number of hops in this route
      • getHopTarget

        HttpHost getHopTarget​(int hop)
        Obtains the target of a hop in this route. The target of the last hop is the target host, the target of previous hops is the respective proxy in the chain. For a route through exactly one proxy, target of hop 0 is the proxy and target of hop 1 is the target host.
        Parameters:
        hop - index of the hop for which to get the target, 0 for first
        Returns:
        the target of the given hop
        Throws:
        java.lang.IllegalArgumentException - if the argument is negative or not less than getHopCount()
      • getProxyHost

        HttpHost getProxyHost()
        Obtains the first proxy host.
        Returns:
        the first proxy in the proxy chain, or null if this route is direct
      • getTunnelType

        RouteInfo.TunnelType getTunnelType()
        Obtains the tunnel type of this route. If there is a proxy chain, only end-to-end tunnels are considered.
        Returns:
        the tunnelling type
      • isTunnelled

        boolean isTunnelled()
        Checks whether this route is tunnelled through a proxy. If there is a proxy chain, only end-to-end tunnels are considered.
        Returns:
        true if tunnelled end-to-end through at least one proxy, false otherwise
      • getLayerType

        RouteInfo.LayerType getLayerType()
        Obtains the layering type of this route. In the presence of proxies, only layering over an end-to-end tunnel is considered.
        Returns:
        the layering type
      • isLayered

        boolean isLayered()
        Checks whether this route includes a layered protocol. In the presence of proxies, only layering over an end-to-end tunnel is considered.
        Returns:
        true if layered, false otherwise
      • isSecure

        boolean isSecure()
        Checks whether this route is secure.
        Returns:
        true if secure, false otherwise