org.apache.hc.client5.http

## Interface ConnectionKeepAliveStrategy

All Known Implementing Classes:
  DefaultConnectionKeepAliveStrategy

    @Contract(threading=STATELESS)
    public interface ConnectionKeepAliveStrategy

Interface for deciding how long a connection can remain idle before being reused.

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

All Methods Instance Methods Abstract Methods
`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.

### Method Detail

#### getKeepAliveDuration

    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. 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

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.