Interface ConnectionSocketFactory

All Known Subinterfaces:
LayeredConnectionSocketFactory
All Known Implementing Classes:
PlainConnectionSocketFactory, SSLConnectionSocketFactory

@Contract(threading=STATELESS) public interface ConnectionSocketFactory
A factory for creating and connecting connection sockets.
Since:
4.3
  • Method Summary

    Modifier and Type
    Method
    Description
    default Socket
    connectSocket(Socket socket, org.apache.hc.core5.http.HttpHost host, InetSocketAddress remoteAddress, InetSocketAddress localAddress, org.apache.hc.core5.util.Timeout connectTimeout, Object attachment, org.apache.hc.core5.http.protocol.HttpContext context)
    Connects the socket to the target host with the given resolved remote address.
    connectSocket(org.apache.hc.core5.util.TimeValue connectTimeout, Socket socket, org.apache.hc.core5.http.HttpHost host, InetSocketAddress remoteAddress, InetSocketAddress localAddress, org.apache.hc.core5.http.protocol.HttpContext context)
    Connects the socket to the target host with the given resolved remote address.
    default Socket
    createSocket(Proxy proxy, org.apache.hc.core5.http.protocol.HttpContext context)
    Creates new, unconnected socket via a proxy (generally SOCKS is expected).
    createSocket(org.apache.hc.core5.http.protocol.HttpContext context)
    Creates new, unconnected socket.
  • Method Details

    • createSocket

      Socket createSocket(org.apache.hc.core5.http.protocol.HttpContext context) throws IOException
      Creates new, unconnected socket. The socket should subsequently be passed to connectSocket method.
      Throws:
      IOException
    • createSocket

      @Internal default Socket createSocket(Proxy proxy, org.apache.hc.core5.http.protocol.HttpContext context) throws IOException
      Creates new, unconnected socket via a proxy (generally SOCKS is expected). The socket should subsequently be passed to connectSocket method.
      Throws:
      IOException
      Since:
      5.2
    • connectSocket

      Socket connectSocket(org.apache.hc.core5.util.TimeValue connectTimeout, Socket socket, org.apache.hc.core5.http.HttpHost host, InetSocketAddress remoteAddress, InetSocketAddress localAddress, org.apache.hc.core5.http.protocol.HttpContext context) throws IOException
      Connects the socket to the target host with the given resolved remote address.
      Parameters:
      connectTimeout - connect timeout.
      socket - the socket to connect, as obtained from createSocket(HttpContext). null indicates that a new socket should be created and connected.
      host - target host as specified by the caller (end user).
      remoteAddress - the resolved remote address to connect to.
      localAddress - the local address to bind the socket to, or null for any.
      context - the actual HTTP context.
      Returns:
      the connected socket. The returned object may be different from the sock argument if this factory supports a layered protocol.
      Throws:
      IOException - if an I/O error occurs
    • connectSocket

      default Socket connectSocket(Socket socket, org.apache.hc.core5.http.HttpHost host, InetSocketAddress remoteAddress, InetSocketAddress localAddress, org.apache.hc.core5.util.Timeout connectTimeout, Object attachment, org.apache.hc.core5.http.protocol.HttpContext context) throws IOException
      Connects the socket to the target host with the given resolved remote address.
      Parameters:
      socket - the socket to connect, as obtained from createSocket(HttpContext). null indicates that a new socket should be created and connected.
      host - target host as specified by the caller (end user).
      remoteAddress - the resolved remote address to connect to.
      localAddress - the local address to bind the socket to, or null for any.
      connectTimeout - connect timeout.
      attachment - connect request attachment.
      context - the actual HTTP context.
      Returns:
      the connected socket. The returned object may be different from the sock argument if this factory supports a layered protocol.
      Throws:
      IOException - if an I/O error occurs
      Since:
      5.2