org.apache.http.conn

## Interface ManagedClientConnection

- All Superinterfaces:
    AutoCloseable ， Closeable ， ConnectionReleaseTrigger ， HttpClientConnection ， HttpConnection ， HttpInetConnection ， HttpRoutedConnection ， ManagedHttpClientConnection
  所有已知实现类：
    AbstractClientConnAdapter ， AbstractPooledConnAdapter ， BasicPooledConnAdapter ， SingleClientConnManager.ConnAdapter

  已过时。
  （4.3）由`HttpClientConnectionManager`取代。

      @Deprecated
      public interface ManagedClientConnection
      extends HttpClientConnection, HttpRoutedConnection, ManagedHttpClientConnection, ConnectionReleaseTrigger

  具有高级连接逻辑的客户端连接。 实例通常从连接管理器获得。
  从以下版本开始：
    4

- - ### 方法摘要

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `HttpRoute` | `getRoute()` 已过时。 获取此连接的当前路由。
    `SSLSession` | `getSSLSession()` 已过时。 获取底层连接的SSL会话（如果有）。
    `Object` | `getState()` 已过时。 返回与此连接关联的状态对象。
    `boolean` | `isMarkedReusable()` 已过时。 指示此连接是否处于可重用的通信状态。
    `boolean` | `isSecure()` 已过时。 指示此连接是否安全。
    `void` | `layerProtocol(HttpContext context, HttpParams params)` 已过时。 在 `tunnelled`连接之上 层层新协议。
    `void` | `markReusable()` 已过时。 将此连接标记为处于可重用的通信状态。
    `void` | `open(HttpRoute route, HttpContext context, HttpParams params)` 已过时。 根据给定的路线打开这个连接。
    `void` | `setIdleDuration(long duration, TimeUnit unit)` 已过时。 设置此连接在重新使用之前可以保持空闲的持续时间。
    `void` | `setState(Object state)` 已过时。 为此连接分配状态对象。
    `void` | `tunnelProxy(HttpHost next, boolean secure, HttpParams params)` 已过时。 表示已建立到中间代理的隧道。
    `void` | `tunnelTarget(boolean secure, HttpParams params)` 已过时。 表示已建立到目标的隧道。
    `void` | `unmarkReusable()` 已过时。 将此连接标记为不处于可重用状态。

    - ### Methods inherited from interface org.apache.http.conn.ManagedHttpClientConnection

      `bind, getId, getSocket`

    - ### Methods inherited from interface org.apache.http.HttpClientConnection

      `flush, isResponseAvailable, receiveResponseEntity, receiveResponseHeader, sendRequestEntity, sendRequestHeader`

    - ### Methods inherited from interface org.apache.http.HttpInetConnection

      `getLocalAddress, getLocalPort, getRemoteAddress, getRemotePort`

    - ### Methods inherited from interface org.apache.http.HttpConnection

      `close, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdown`

    - ### Methods inherited from interface org.apache.http.conn.ConnectionReleaseTrigger

      `abortConnection, releaseConnection`

- - ### 方法详细信息

    - #### isSecure

          boolean isSecure()

      已过时。
      指示此连接是否安全。 只有当连接打开时，返回值才被明确定义。 即使连接打开，它也可能会改变。
      Specified by:
        `isSecure`在接口 `HttpRoutedConnection`
      结果
        `true`如果这个连接是安全的， `false`否则

    - #### getRoute

          HttpRoute getRoute()

      已过时。
      获取此连接的当前路由。
      Specified by:
        `getRoute`在接口 `HttpRoutedConnection`
      结果
        到目前为止建立的路线，或 `null`如果没有连接

    - #### getSSLSession

          SSLSession getSSLSession()

      已过时。
      获取底层连接的SSL会话（如果有）。 如果此连接已打开，并且底层套接字为`SSLSocket` ，则会获取该套接字的SSL会话。 这是一个潜在的阻塞操作。

      注意：底层套接字是否为SSL套接字不一定可以通过`isSecure()`确定。 普通插座可能被认为是安全的，例如，如果它们连接到同一网段中的已知主机。 另一方面，SSL套接字可能被认为是不安全的，例如根据所选择的加密套件。

      Specified by:
        `getSSLSession`在接口 `HttpRoutedConnection`
      Specified by:
        `getSSLSession`在接口 `ManagedHttpClientConnection`
      结果
        底层SSL会话（如果可用）， `null`否则

    - #### open

          void open(HttpRoute route,
                  HttpContext context,
                  HttpParams params)
                    throws IOException

      已过时。
      根据给定的路线打开这个连接。
      参数
        `route` - 打开的路线。 如果存在，或直接到目标，它将被打开到第一个代理。
        `context` - 打开此连接的上下文
        `params` - 打开此连接的参数
      异常
        `IOException` - 出现问题时

    - #### tunnelTarget

          void tunnelTarget(boolean secure,
                          HttpParams params)
                            throws IOException

      已过时。
      表示已建立到目标的隧道。 路线是之前传递给`open`的路线 。 随后， `layerProtocol`可以调用在隧道连接顶部的TLS / SSL协议层。

      注意：在HttpClient 3中，调用相应的方法会自动触发TLS / SSL协议的分层。 不是这样，您可以建立隧道，而不需要通过连接分层新的协议。

      参数
        `secure` - `true`如果隧道应该被认为是安全的， `false`否则
        `params` - 隧道连接的参数
      异常
        `IOException` - 出现问题时

    - #### tunnelProxy

          void tunnelProxy(HttpHost next,
                         boolean secure,
                         HttpParams params)
                           throws IOException

      已过时。
      表示已建立到中间代理的隧道。 这仅用于所谓的代理链 ，其中请求必须在到达目标之前通过多个代理。 在这种情况下，所有代理，但最后需要在建立连接时被隧道。 将最后一个代理隧道传送到目标是可选的，并将通过`tunnelTarget(boolean, org.apache.http.params.HttpParams)`指示。
      参数
        `next` - 建立隧道的代理。 这不是 通过设立该通道的代理，但隧道的新端点。 隧道还没有达到目标，使用`tunnelTarget(boolean, org.apache.http.params.HttpParams)`以指示终端到终端的隧道。
        `secure` - `true`如果连接被认为是安全的， `false`否则
        `params` - 隧道连接的参数
      异常
        `IOException` - 出现问题的情况

    - #### layerProtocol

          void layerProtocol(HttpContext context,
                           HttpParams params)
                             throws IOException

      已过时。
      在`tunnelled`连接之上层层新协议。 这通常用于通过代理创建TLS / SSL连接。 路线是之前传递给`open`的路线 。 不能保证分层连接是`secure` 。
      参数
        `context` - 在此连接之上分层的上下文
        `params` - 此连接顶部的分层参数
      异常
        `IOException` - 出现问题时

    - #### markReusable

          void markReusable()

      已过时。
      将此连接标记为处于可重用的通信状态。 可重用通信状态的检查点（在不存在流水线）的情况下，是在发送请求之前和收到完整的响应之后。 用于通信时，连接将自动清除检查点。 调用此方法表示已到达下一个检查点。

      可重用的通信状态是必需的，但不足以使连接被重用。 一个`route`不匹配，连接被关闭或其他情况可能会阻止重用。

    - #### unmarkReusable

          void unmarkReusable()

      已过时。
      将此连接标记为不处于可重用状态。 这可以在释放此连接之前立即使用，以防止其重复使用。 防止重用的原因包括错误条件和`reuse strategy`的评估。

      注：这是没有必要写或从该连接读取数据前来电来访。 通信尝试将自动将状态标记为不可重用。 然后可以使用`markReusable`切换回来。

    - #### isMarkedReusable

          boolean isMarkedReusable()

      已过时。
      指示此连接是否处于可重用的通信状态。 详见`markReusable`和`unmarkReusable` 。
      结果
        `true`如果此连接被标记为处于可重用的通信状态， `false`

    - #### setState

          void setState(Object state)

      已过时。
      为此连接分配状态对象。 连接管理员可以在分配持久连接时使用连接状态。
      参数
        `state` - 状态对象

    - #### getState

          Object getState()

      已过时。
      返回与此连接关联的状态对象。
      结果
        状态对象

    - #### setIdleDuration

          void setIdleDuration(long duration,
                             TimeUnit unit)

      已过时。
      设置此连接在重新使用之前可以保持空闲的持续时间。 如果这段时间过去，连接不应再使用。 在通过此连接发送的每个请求后，必须重置空闲持续时间。 当连接被释放时，经过的时间开始计数，这通常在标题之后（并且任何响应主体（如果存在））被完全消耗。

Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.

本帮助文档是使用 《谷歌翻译》翻译，请与英文版配合使用 by--QQ:654638585