Integrate storage retry policy. (#722)
* Integrate storage retry policy. * Removed the logic to make URL empty when '.blob.' is not found in URL.
This commit is contained in:
parent
1b351de2d8
commit
f59ab214a6
@ -25,6 +25,11 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerOperationPolicies;
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerRetryPolicies;
|
||||
|
||||
/**
|
||||
* @brief Specify the number of retries and other retry-related options.
|
||||
*/
|
||||
StorageRetryWithSecondaryOptions RetryOptions;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -34,6 +39,11 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerOperationPolicies;
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerRetryPolicies;
|
||||
|
||||
/**
|
||||
* @brief Specify the number of retries and other retry-related options.
|
||||
*/
|
||||
StorageRetryWithSecondaryOptions RetryOptions;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -43,6 +53,11 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerOperationPolicies;
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerRetryPolicies;
|
||||
|
||||
/**
|
||||
* @brief Specify the number of retries and other retry-related options.
|
||||
*/
|
||||
StorageRetryWithSecondaryOptions RetryOptions;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#include "azure/storage/common/shared_key_policy.hpp"
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/datalake/datalake_file_client.hpp"
|
||||
#include "azure/storage/files/datalake/datalake_utilities.hpp"
|
||||
@ -55,12 +56,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(std::make_unique<SharedKeyPolicy>(credential));
|
||||
policies.emplace_back(std::make_unique<Azure::Core::Http::TransportPolicy>(
|
||||
@ -82,8 +86,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -110,8 +116,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#include "azure/storage/common/shared_key_policy.hpp"
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/datalake/datalake_utilities.hpp"
|
||||
|
||||
@ -133,12 +134,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(std::make_unique<SharedKeyPolicy>(credential));
|
||||
policies.emplace_back(std::make_unique<Azure::Core::Http::TransportPolicy>(
|
||||
@ -161,12 +165,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(
|
||||
std::make_unique<Core::Credentials::Policy::BearerTokenAuthenticationPolicy>(
|
||||
@ -187,12 +194,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(std::make_unique<Azure::Core::Http::TransportPolicy>(
|
||||
std::make_shared<Azure::Core::Http::CurlTransport>()));
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
#include "azure/storage/common/shared_key_policy.hpp"
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/datalake/datalake_directory_client.hpp"
|
||||
#include "azure/storage/files/datalake/datalake_file_client.hpp"
|
||||
@ -31,6 +32,9 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
blobOptions.PerRetryPolicies.emplace_back(p->Clone());
|
||||
}
|
||||
blobOptions.RetryOptions = options.RetryOptions;
|
||||
blobOptions.RetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetBlobUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
return blobOptions;
|
||||
}
|
||||
} // namespace
|
||||
@ -74,12 +78,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(std::make_unique<SharedKeyPolicy>(credential));
|
||||
policies.emplace_back(std::make_unique<Azure::Core::Http::TransportPolicy>(
|
||||
@ -105,12 +112,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(
|
||||
std::make_unique<Core::Credentials::Policy::BearerTokenAuthenticationPolicy>(
|
||||
@ -136,12 +146,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(std::make_unique<Azure::Core::Http::TransportPolicy>(
|
||||
std::make_shared<Azure::Core::Http::CurlTransport>()));
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#include "azure/storage/common/shared_key_policy.hpp"
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/datalake/datalake_utilities.hpp"
|
||||
|
||||
@ -29,6 +30,9 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
blobOptions.PerRetryPolicies.emplace_back(p->Clone());
|
||||
}
|
||||
blobOptions.RetryOptions = options.RetryOptions;
|
||||
blobOptions.RetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetBlobUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
return blobOptions;
|
||||
}
|
||||
|
||||
@ -114,12 +118,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(std::make_unique<SharedKeyPolicy>(credential));
|
||||
policies.emplace_back(std::make_unique<Azure::Core::Http::TransportPolicy>(
|
||||
@ -142,12 +149,15 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
policies.emplace_back(
|
||||
std::make_unique<Core::Credentials::Policy::BearerTokenAuthenticationPolicy>(
|
||||
@ -169,13 +179,16 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
|
||||
policies.emplace_back(std::make_unique<Azure::Core::Http::TransportPolicy>(
|
||||
std::make_shared<Azure::Core::Http::CurlTransport>()));
|
||||
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_credential.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/datalake/datalake_file_system_client.hpp"
|
||||
#include "azure/storage/files/datalake/datalake_utilities.hpp"
|
||||
@ -28,6 +29,9 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
blobOptions.PerRetryPolicies.emplace_back(p->Clone());
|
||||
}
|
||||
blobOptions.RetryOptions = options.RetryOptions;
|
||||
blobOptions.RetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetBlobUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
return blobOptions;
|
||||
}
|
||||
|
||||
@ -82,8 +86,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -112,8 +118,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -140,8 +148,10 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
StorageRetryWithSecondaryOptions dfsRetryOptions = options.RetryOptions;
|
||||
dfsRetryOptions.SecondaryHostForRetryReads
|
||||
= Details::GetDfsUriFromUri(options.RetryOptions.SecondaryHostForRetryReads);
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(dfsRetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
|
||||
@ -30,12 +30,6 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake { nam
|
||||
{
|
||||
result.replace(pos, c_BlobEndPointIdentifier.size(), c_DfsEndPointIdentifier);
|
||||
}
|
||||
// DfsUri will be empty if there is no dfs endpoint.
|
||||
pos = result.find(c_DfsEndPointIdentifier);
|
||||
if (pos == std::string::npos)
|
||||
{
|
||||
result.clear();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
|
||||
#include "azure/core/nullable.hpp"
|
||||
#include "azure/storage/common/access_conditions.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/files/shares/protocol/share_rest_client.hpp"
|
||||
#include "azure/storage/files/shares/share_responses.hpp"
|
||||
|
||||
@ -22,6 +23,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerOperationPolicies;
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerRetryPolicies;
|
||||
|
||||
/**
|
||||
* @brief Specify the number of retries and other retry-related options.
|
||||
*/
|
||||
StorageRetryOptions RetryOptions;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -31,6 +37,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerOperationPolicies;
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerRetryPolicies;
|
||||
|
||||
/**
|
||||
* @brief Specify the number of retries and other retry-related options.
|
||||
*/
|
||||
StorageRetryOptions RetryOptions;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -40,6 +51,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerOperationPolicies;
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerRetryPolicies;
|
||||
|
||||
/**
|
||||
* @brief Specify the number of retries and other retry-related options.
|
||||
*/
|
||||
StorageRetryOptions RetryOptions;
|
||||
};
|
||||
|
||||
/**
|
||||
@ -49,6 +65,11 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerOperationPolicies;
|
||||
std::vector<std::unique_ptr<Azure::Core::Http::HttpPolicy>> PerRetryPolicies;
|
||||
|
||||
/**
|
||||
* @brief Specify the number of retries and other retry-related options.
|
||||
*/
|
||||
StorageRetryOptions RetryOptions;
|
||||
};
|
||||
|
||||
struct ListSharesSegmentOptions
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#include "azure/storage/common/shared_key_policy.hpp"
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/shares/share_directory_client.hpp"
|
||||
#include "azure/storage/files/shares/share_file_client.hpp"
|
||||
@ -50,8 +51,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -77,8 +77,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -103,8 +102,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#include "azure/storage/common/shared_key_policy.hpp"
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/shares/share_file_client.hpp"
|
||||
|
||||
@ -51,8 +52,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -78,8 +78,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -106,8 +105,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
|
||||
@ -13,6 +13,7 @@
|
||||
#include "azure/storage/common/shared_key_policy.hpp"
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/shares/share_constants.hpp"
|
||||
|
||||
@ -54,8 +55,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -81,8 +81,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -107,8 +106,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
|
||||
@ -10,6 +10,7 @@
|
||||
#include "azure/storage/common/storage_common.hpp"
|
||||
#include "azure/storage/common/storage_credential.hpp"
|
||||
#include "azure/storage/common/storage_per_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_retry_policy.hpp"
|
||||
#include "azure/storage/common/storage_version.hpp"
|
||||
#include "azure/storage/files/shares/share_client.hpp"
|
||||
|
||||
@ -46,8 +47,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -73,8 +73,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
@ -99,8 +98,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
}
|
||||
policies.emplace_back(
|
||||
std::make_unique<Azure::Core::Http::RetryPolicy>(Azure::Core::Http::RetryOptions()));
|
||||
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
|
||||
for (const auto& p : options.PerRetryPolicies)
|
||||
{
|
||||
policies.emplace_back(p->Clone());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user