org.apache.hc.client5.http.impl

## Class DefaultConnectionKeepAliveStrategy

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

All Implemented Interfaces:
  ConnectionKeepAliveStrategy

    @Contract(threading=IMMUTABLE)
    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
`static DefaultConnectionKeepAliveStrategy` `INSTANCE`

### Constructor Summary

Constructors
Constructor and Description
`DefaultConnectionKeepAliveStrategy()`

### Method Summary

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.

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

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