| org.apache.http.conn.scheme.SocketFactory | 
    
|  Known Indirect Subclasses | 
Class Overview
A factory for creating and connecting sockets.
 The factory encapsulates the logic for establishing a socket connection.
 
 Both Object.equals()
 and Object.hashCode()
 must be overridden for the correct operation of some connection managers.
 
Public Methods
 
    
      
        public 
         
         
        abstract 
         
        Socket
      
      connectSocket
      (Socket sock, String host, int port, InetAddress localAddress, int localPort, HttpParams params)
    
      
    
      
  Connects a socket to the given host.
      Parameters
      
        
          | sock | the socket to connect, as obtained from createSocket.nullindicates that a new socket
                  should be created and connected. | 
        
          | host | the host to connect to | 
        
          | port | the port to connect to on the host | 
        
          | localAddress | the local address to bind the socket to, or nullfor any | 
        
          | localPort | the port on the local machine,
                  0 or a negative number for any | 
        
          | params | additional parametersfor connecting | 
      
   
  
      Returns
      - the connected socket. The returned object may be different
          from the sockargument if this factory supports
          a layered protocol.
 
  
     
 
 
    
      
        public 
         
         
        abstract 
         
        Socket
      
      createSocket
      ()
    
      
    
      
  Creates a new, unconnected socket.
 The socket should subsequently be passed to
 connectSocket.
      Throws
        
        
            | IOException | if an I/O error occurs while creating the socket | 
      
   
     
 
 
    
      
        public 
         
         
        abstract 
         
        boolean
      
      isSecure
      (Socket sock)
    
      
    
      
  Checks whether a socket provides a secure connection.
 The socket must be connected
 by this factory.
 The factory will not perform I/O operations
 in this method.
 
 As a rule of thumb, plain sockets are not secure and
 TLS/SSL sockets are secure. However, there may be
 application specific deviations. For example, a plain
 socket to a host in the same intranet ("trusted zone")
 could be considered secure. On the other hand, a
 TLS/SSL socket could be considered insecure based on
 the cypher suite chosen for the connection.
      Parameters
      
        
          | sock | the connected socket to check | 
      
   
  
      Returns
      - trueif the connection of the socket
          should be considered secure, or- falseif it should not
 
  
      Throws
        
        
            | IllegalArgumentException | if the argument is invalid, for example because it is
  not a connected socket or was created by a different
  socket factory.
  Note that socket factories are not required to
  check these conditions, they may simply return a default
  value when called with an invalid socket argument. |