mobile/android/thirdparty/ch/boye/httpclientandroidlib/conn/ConnectionKeepAliveStrategy.java

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

     1 /*
     2  * ====================================================================
     3  * Licensed to the Apache Software Foundation (ASF) under one
     4  * or more contributor license agreements.  See the NOTICE file
     5  * distributed with this work for additional information
     6  * regarding copyright ownership.  The ASF licenses this file
     7  * to you under the Apache License, Version 2.0 (the
     8  * "License"); you may not use this file except in compliance
     9  * with the License.  You may obtain a copy of the License at
    10  *
    11  *   http://www.apache.org/licenses/LICENSE-2.0
    12  *
    13  * Unless required by applicable law or agreed to in writing,
    14  * software distributed under the License is distributed on an
    15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    16  * KIND, either express or implied.  See the License for the
    17  * specific language governing permissions and limitations
    18  * under the License.
    19  * ====================================================================
    20  *
    21  * This software consists of voluntary contributions made by many
    22  * individuals on behalf of the Apache Software Foundation.  For more
    23  * information on the Apache Software Foundation, please see
    24  * <http://www.apache.org/>.
    25  *
    26  */
    27 package ch.boye.httpclientandroidlib.conn;
    29 import ch.boye.httpclientandroidlib.ConnectionReuseStrategy;
    30 import ch.boye.httpclientandroidlib.HttpResponse;
    31 import ch.boye.httpclientandroidlib.protocol.HttpContext;
    33 /**
    34  * Interface for deciding how long a connection can remain
    35  * idle before being reused.
    36  * <p>
    37  * Implementations of this interface must be thread-safe. Access to shared
    38  * data must be synchronized as methods of this interface may be executed
    39  * from multiple threads.
    40  *
    41  * @since 4.0
    42  */
    43 public interface ConnectionKeepAliveStrategy {
    45     /**
    46      * Returns the duration of time which this connection can be safely kept
    47      * idle. If the connection is left idle for longer than this period of time,
    48      * it MUST not reused. A value of 0 or less may be returned to indicate that
    49      * there is no suitable suggestion.
    50      *
    51      * When coupled with a {@link ConnectionReuseStrategy}, if
    52      * {@link ConnectionReuseStrategy#keepAlive(HttpResponse, HttpContext)}
    53      * returns true, this allows you to control how long the reuse will last. If
    54      * keepAlive returns false, this should have no meaningful impact
    55      *
    56      * @param response
    57      *            The last response received over the connection.
    58      * @param context
    59      *            the context in which the connection is being used.
    60      *
    61      * @return the duration in ms for which it is safe to keep the connection
    62      *         idle, or <=0 if no suggested duration.
    63      */
    64     long getKeepAliveDuration(HttpResponse response, HttpContext context);
    66 }

mercurial