org.apache.hc.client5.http.impl

## Class DefaultConnectionKeepAliveStrategy

- java.lang.Object
- - org.apache.hc.client5.http.impl.DefaultConnectionKeepAliveStrategy

- All Implemented Interfaces:
    ConnectionKeepAliveStrategy

      @Contract(threading=STATELESS)
      public class DefaultConnectionKeepAliveStrategy
      extends Object
      implements ConnectionKeepAliveStrategy

  Default implementation of a strategy deciding duration that a connection can remain idle.

  The default implementation looks solely at the 'Keep-Alive' header's timeout token.

  Since:
    4.0

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static DefaultConnectionKeepAliveStrategy` | `INSTANCE` Default instance of `DefaultConnectionKeepAliveStrategy`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultConnectionKeepAliveStrategy()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.apache.hc.core5.util.TimeValue` | `getKeepAliveDuration(org.apache.hc.core5.http.HttpResponse response, org.apache.hc.core5.http.protocol.HttpContext context)` Returns the duration of time which this connection can be safely kept idle.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### INSTANCE

          public static final DefaultConnectionKeepAliveStrategy INSTANCE

      Default instance of `DefaultConnectionKeepAliveStrategy`.

  - ### Constructor Detail

    - #### DefaultConnectionKeepAliveStrategy

          public DefaultConnectionKeepAliveStrategy()

  - ### Method Detail

    - #### getKeepAliveDuration

          public org.apache.hc.core5.util.TimeValue getKeepAliveDuration(org.apache.hc.core5.http.HttpResponse response,
                                                                         org.apache.hc.core5.http.protocol.HttpContext context)

      Description copied from interface: `ConnectionKeepAliveStrategy`
      Returns the duration of time which this connection can be safely kept idle. If the connection is left idle for longer than this period of time, it MUST not reused. A value of 0 or less may be returned to indicate that there is no suitable suggestion. When coupled with a `ConnectionReuseStrategy`, if `ConnectionReuseStrategy.keepAlive( org.apache.hc.core5.http.HttpRequest, HttpResponse, HttpContext)` returns true, this allows you to control how long the reuse will last. If keepAlive returns false, this should have no meaningful impact
      Specified by:
        `getKeepAliveDuration` in interface `ConnectionKeepAliveStrategy`
      Parameters:
        `response` - The last response received over the connection.
        `context` - the context in which the connection is being used.
      Returns:
        the duration in ms for which it is safe to keep the connection idle, or <=0 if no suggested duration.

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