com.azure.cosmos.implementation.http.HttpTimeoutPolicy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure-cosmos Show documentation
Show all versions of azure-cosmos Show documentation
This Package contains Microsoft Azure Cosmos SDK (with Reactive Extension Reactor support) for Azure Cosmos DB SQL API
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
package com.azure.cosmos.implementation.http;
import com.azure.cosmos.implementation.OperationType;
import com.azure.cosmos.implementation.ResourceType;
import com.azure.cosmos.implementation.RxDocumentServiceRequest;
import java.util.List;
public abstract class HttpTimeoutPolicy {
public List timeoutAndDelaysList;
public static final HttpTimeoutPolicy getTimeoutPolicy(RxDocumentServiceRequest request) {
if (OperationType.QueryPlan.equals(request.getOperationType()) ||
request.isAddressRefresh() ||
request.getResourceType() == ResourceType.PartitionKeyRange) {
return HttpTimeoutPolicyControlPlaneHotPath.INSTANCE;
}
if (OperationType.Read.equals(request.getOperationType()) && request.getResourceType() == ResourceType.DatabaseAccount) {
return HttpTimeoutPolicyControlPlaneRead.INSTANCE;
}
return HttpTimeoutPolicyDefault.INSTANCE;
}
public int totalRetryCount() {
return timeoutAndDelaysList.size()-1;
}
public List getTimeoutAndDelaysList() {
return timeoutAndDelaysList;
}
}