Class NoClientBindProtocolSocketFactory

java.lang.Object
hudson.util.NoClientBindProtocolSocketFactory
All Implemented Interfaces:
org.apache.commons.httpclient.protocol.ProtocolSocketFactory

public class NoClientBindProtocolSocketFactory extends Object implements org.apache.commons.httpclient.protocol.ProtocolSocketFactory
A SecureProtocolSocketFactory that creates sockets without binding to a specific interface. Based on org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory
  • Constructor Details

    • NoClientBindProtocolSocketFactory

      public NoClientBindProtocolSocketFactory()
  • Method Details

    • createSocket

      public Socket createSocket(String host, int port, InetAddress localAddress, int localPort) throws IOException
      Specified by:
      createSocket in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
      Throws:
      IOException
    • createSocket

      public Socket createSocket(String host, int port, InetAddress localAddress, int localPort, org.apache.commons.httpclient.params.HttpConnectionParams params) throws IOException, UnknownHostException, org.apache.commons.httpclient.ConnectTimeoutException
      Attempts to get a new socket connection to the given host within the given time limit.

      This method employs several techniques to circumvent the limitations of older JREs that do not support connect timeout. When running in JRE 1.4 or above reflection is used to call Socket#connect(SocketAddress endpoint, int timeout) method. When executing in older JREs a controller thread is executed. The controller thread attempts to create a new socket within the given limit of time. If socket constructor does not return until the timeout expires, the controller terminates and throws an ConnectTimeoutException

      Specified by:
      createSocket in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
      Parameters:
      host - the host name/IP
      port - the port on the host
      localAddress - the local host name/IP to bind the socket to, ignored
      localPort - the port on the local machine, ignored
      params - Http connection parameters
      Returns:
      Socket a new socket
      Throws:
      IOException - if an I/O error occurs while creating the socket
      UnknownHostException - if the IP address of the host cannot be determined
      org.apache.commons.httpclient.ConnectTimeoutException - if socket cannot be connected within the given time limit
      Since:
      3.0
    • createSocket

      public Socket createSocket(String host, int port) throws IOException
      Specified by:
      createSocket in interface org.apache.commons.httpclient.protocol.ProtocolSocketFactory
      Throws:
      IOException
      See Also:
      • ProtocolSocketFactory.createSocket(java.lang.String,int)
    • equals

      public boolean equals(Object obj)
      All instances are the same.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      All instances have the same hash code.
      Overrides:
      hashCode in class Object