summaryrefslogtreecommitdiffstats
path: root/clustercontroller-utils/src/main/java/com/yahoo/vespa/clustercontroller/utils/communication/http/AsyncHttpClient.java
blob: 6af3e4de75980163e5685712226675cb2f30f4aa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.clustercontroller.utils.communication.http;

import com.yahoo.vespa.clustercontroller.utils.communication.async.AsyncOperation;

/**
 * Abstraction of an asynchronous HTTP client, such that applications don't need to depend directly on an HTTP client.
 */
public interface AsyncHttpClient<V extends HttpResult> {

    AsyncOperation<V> execute(HttpRequest r);

    /** Attempt to cancel all pending operations and shut down the client. */
    void close();

}