All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.azure.cosmos.implementation.http.HttpTimeoutPolicyDefault Maven / Gradle / Ivy

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.cosmos.implementation.http;

import com.azure.cosmos.implementation.Configs;
import io.netty.handler.codec.http.HttpMethod;


import java.time.Duration;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class HttpTimeoutPolicyDefault extends HttpTimeoutPolicy {

    public static final HttpTimeoutPolicy INSTANCE = new HttpTimeoutPolicyDefault();

    private HttpTimeoutPolicyDefault() {
        timeoutAndDelaysList = getTimeoutList();
    }

    public List getTimeoutList() {
        int maxTimeout = Configs.getMaxHttpRequestTimeout();
        return Collections.unmodifiableList(Arrays.asList(
            new ResponseTimeoutAndDelays(Duration.ofSeconds(maxTimeout), 0),
            new ResponseTimeoutAndDelays(Duration.ofSeconds(maxTimeout), 1),
            new ResponseTimeoutAndDelays(Duration.ofSeconds(maxTimeout), 0)));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy