Interface ConnectionKeepAliveStrategy

  • All Known Implementing Classes:
    DefaultConnectionKeepAliveStrategy

    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 Detail

      • getKeepAliveDuration

        long getKeepAliveDuration​(HttpResponse response,
                                  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( 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.