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

    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.

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

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