## org.apache.http.conn
Interface ClientConnectionOperator

All Known Implementing Classes:
  DefaultClientConnectionOperator

    public interface ClientConnectionOperator

ClientConnectionOperator represents a strategy for creating `OperatedClientConnection` instances and updating the underlying `Socket` of those objects. Implementations will most likely make use of `SchemeSocketFactory`s to create `Socket` instances.

The methods in this interface allow the creation of plain and layered sockets. Creating a tunnelled connection through a proxy, however, is not within the scope of the operator.

Implementations of this interface must be thread-safe. Access to shared data must be synchronized as methods of this interface may be executed from multiple threads.

Since:
  4.0

Method Summary
`OperatedClientConnection` `createConnection()` Creates a new connection that can be operated.
`void` `openConnection(OperatedClientConnection conn, HttpHost target, InetAddress local, HttpContext context, HttpParams params)` Opens a connection to the given target host.
`void` `updateSecureConnection(OperatedClientConnection conn, HttpHost target, HttpContext context, HttpParams params)` Updates a connection with a layered secure connection.

Method Detail

### createConnection

    OperatedClientConnection createConnection()

  Creates a new connection that can be operated.

  Returns:
    a new, unopened connection for use with this operator

### openConnection

    void openConnection(OperatedClientConnection conn,
                        HttpHost target,
                        InetAddress local,
                        HttpContext context,
                        HttpParams params)
                        throws IOException

  Opens a connection to the given target host.

  Parameters:
    `conn` - the connection to open
    `target` - the target host to connect to
    `local` - the local address to route from, or `null` for the default
    `context` - the context for the connection
    `params` - the parameters for the connection
  Throws:
    `IOException` - in case of a problem

### updateSecureConnection

    void updateSecureConnection(OperatedClientConnection conn,
                                HttpHost target,
                                HttpContext context,
                                HttpParams params)
                                throws IOException

  Updates a connection with a layered secure connection. The typical use of this method is to update a tunnelled plain connection (HTTP) to a secure TLS/SSL connection (HTTPS).

  Parameters:
    `conn` - the open connection to update
    `target` - the target host for the updated connection. The connection must already be open or tunnelled to the host and port, but the scheme of the target will be used to create a layered connection.
    `context` - the context for the connection
    `params` - the parameters for the updated connection
  Throws:
    `IOException` - in case of a problem

Copyright © 1999-2011 The Apache Software Foundation. All Rights Reserved.