Move StoragePerRetryPolicy and SharedKeyPolicy to Details namespace (#1046)

* move some policies to Details namespace

* changelog

* move StorageRetryPolicy to Details namespace

* changelog
This commit is contained in:
JinmingHu 2020-12-02 10:19:23 +08:00 committed by GitHub
parent 96892d9923
commit d0b128049d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 147 additions and 156 deletions

View File

@ -98,13 +98,13 @@ namespace Azure { namespace Storage { namespace Blobs {
policies.emplace_back(p->Clone());
}
policies.emplace_back(
std::make_unique<Azure::Storage::StorageRetryPolicy>(options.RetryOptions));
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -118,8 +118,8 @@ namespace Azure { namespace Storage { namespace Blobs {
{
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(std::make_unique<NoopTransportPolicy>());
m_subRequestPipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
}
@ -139,12 +139,12 @@ namespace Azure { namespace Storage { namespace Blobs {
policies.emplace_back(p->Clone());
}
policies.emplace_back(
std::make_unique<Azure::Storage::StorageRetryPolicy>(options.RetryOptions));
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Storage::Details::StorageScope));
policies.emplace_back(
@ -160,7 +160,7 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Storage::Details::StorageScope));
policies.emplace_back(std::make_unique<NoopTransportPolicy>());
@ -179,12 +179,12 @@ namespace Azure { namespace Storage { namespace Blobs {
policies.emplace_back(p->Clone());
}
policies.emplace_back(
std::make_unique<Azure::Storage::StorageRetryPolicy>(options.RetryOptions));
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -198,7 +198,7 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<NoopTransportPolicy>());
m_subRequestPipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
}

View File

@ -54,13 +54,14 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -80,12 +81,13 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Storage::Details::StorageScope));
policies.emplace_back(
@ -105,12 +107,13 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -50,13 +50,14 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -76,12 +77,13 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Storage::Details::StorageScope));
policies.emplace_back(
@ -103,12 +105,13 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -45,13 +45,13 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -71,12 +71,13 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Storage::Details::StorageScope));
policies.emplace_back(
@ -97,12 +98,13 @@ namespace Azure { namespace Storage { namespace Blobs {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -4,6 +4,8 @@
* Rename `SharedKeyCredential` to `StorageSharedKeyCredential`.
* Rename `StorageSharedKeyCredential::UpdateAccountKey` to `StorageSharedKeyCredential::Update`.
* Move `StorageRetryPolicy`, `StoragePerRetryPolicy` and `SharedKeyPolicy` to `Details` namespace.
* Remove `StorageRetryOptions`, use `Azure::Core::Http::RetryOptions` instead.
## 12.0.0-beta.5 (2020-11-13)

View File

@ -6,7 +6,7 @@
#include "azure/core/http/policy.hpp"
#include "azure/storage/common/storage_credential.hpp"
namespace Azure { namespace Storage {
namespace Azure { namespace Storage { namespace Details {
class SharedKeyPolicy : public Core::Http::HttpPolicy {
public:
@ -38,4 +38,4 @@ namespace Azure { namespace Storage {
std::shared_ptr<StorageSharedKeyCredential> m_credential;
};
}} // namespace Azure::Storage
}}} // namespace Azure::Storage::Details

View File

@ -24,6 +24,9 @@ namespace Azure { namespace Storage {
struct DataLakeSasBuilder;
}
} // namespace Files
namespace Details {
class SharedKeyPolicy;
}
/**
* @brief A StorageSharedKeyCredential is a credential backed by a storage account's name and one
@ -61,7 +64,7 @@ namespace Azure { namespace Storage {
const std::string AccountName;
private:
friend class SharedKeyPolicy;
friend class Details::SharedKeyPolicy;
friend struct Blobs::BlobSasBuilder;
friend struct Files::Shares::ShareSasBuilder;
friend struct Files::DataLake::DataLakeSasBuilder;

View File

@ -5,7 +5,7 @@
#include "azure/core/http/policy.hpp"
namespace Azure { namespace Storage {
namespace Azure { namespace Storage { namespace Details {
class StoragePerRetryPolicy : public Core::Http::HttpPolicy {
public:
@ -22,4 +22,4 @@ namespace Azure { namespace Storage {
Core::Http::NextHttpPolicy nextHttpPolicy) const override;
};
}} // namespace Azure::Storage
}}} // namespace Azure::Storage::Details

View File

@ -10,43 +10,11 @@
namespace Azure { namespace Storage {
/**
* StorageRetryOptions configures the retry policy's behavior.
*/
struct StorageRetryOptions
{
/**
* @brief Maximum number of attempts to retry.
*/
int MaxRetries = 3;
/**
* @brief Mimimum amount of time between retry attempts.
*/
std::chrono::milliseconds RetryDelay = std::chrono::seconds(4);
/**
* @brief Maximum amount of time between retry attempts.
*/
std::chrono::milliseconds MaxRetryDelay = std::chrono::minutes(2);
/**
* @brief HTTP status codes to retry on.
*/
std::vector<Azure::Core::Http::HttpStatusCode> StatusCodes{
Azure::Core::Http::HttpStatusCode::RequestTimeout,
Azure::Core::Http::HttpStatusCode::InternalServerError,
Azure::Core::Http::HttpStatusCode::BadGateway,
Azure::Core::Http::HttpStatusCode::ServiceUnavailable,
Azure::Core::Http::HttpStatusCode::GatewayTimeout,
};
};
/**
* StorageRetryWithSecondaryOptions configures whether the retry policy should retry a read
* operation against another host.
*/
struct StorageRetryWithSecondaryOptions : public StorageRetryOptions
struct StorageRetryWithSecondaryOptions : public Core::Http::RetryOptions
{
/**
* SecondaryHostForRetryReads specifies whether the retry policy should retry a read
@ -58,33 +26,37 @@ namespace Azure { namespace Storage {
std::string SecondaryHostForRetryReads;
};
class StorageRetryPolicy : public Azure::Core::Http::HttpPolicy {
public:
explicit StorageRetryPolicy(const StorageRetryOptions& options)
{
m_options.MaxRetries = options.MaxRetries;
m_options.RetryDelay = options.RetryDelay;
m_options.MaxRetryDelay = options.MaxRetryDelay;
m_options.StatusCodes = options.StatusCodes;
}
namespace Details {
explicit StorageRetryPolicy(const StorageRetryWithSecondaryOptions& options)
: m_options(options)
{
}
class StorageRetryPolicy : public Azure::Core::Http::HttpPolicy {
public:
explicit StorageRetryPolicy(const Core::Http::RetryOptions& options)
{
m_options.MaxRetries = options.MaxRetries;
m_options.RetryDelay = options.RetryDelay;
m_options.MaxRetryDelay = options.MaxRetryDelay;
m_options.StatusCodes = options.StatusCodes;
}
std::unique_ptr<Azure::Core::Http::HttpPolicy> Clone() const override
{
return std::make_unique<StorageRetryPolicy>(*this);
}
explicit StorageRetryPolicy(const StorageRetryWithSecondaryOptions& options)
: m_options(options)
{
}
std::unique_ptr<Azure::Core::Http::RawResponse> Send(
const Azure::Core::Context& ctx,
Azure::Core::Http::Request& request,
Azure::Core::Http::NextHttpPolicy nextHttpPolicy) const override;
std::unique_ptr<Azure::Core::Http::HttpPolicy> Clone() const override
{
return std::make_unique<StorageRetryPolicy>(*this);
}
private:
StorageRetryWithSecondaryOptions m_options;
};
std::unique_ptr<Azure::Core::Http::RawResponse> Send(
const Azure::Core::Context& ctx,
Azure::Core::Http::Request& request,
Azure::Core::Http::NextHttpPolicy nextHttpPolicy) const override;
private:
StorageRetryWithSecondaryOptions m_options;
};
} // namespace Details
}} // namespace Azure::Storage

View File

@ -10,7 +10,8 @@
#include <algorithm>
#include <cctype>
namespace Azure { namespace Storage {
namespace Azure { namespace Storage { namespace Details {
std::string SharedKeyPolicy::GetSignature(const Core::Http::Request& request) const
{
std::string string_to_sign;
@ -82,4 +83,4 @@ namespace Azure { namespace Storage {
return Base64Encode(
Details::HmacSha256(string_to_sign, Base64Decode(m_credential->GetAccountKey())));
}
}} // namespace Azure::Storage
}}} // namespace Azure::Storage::Details

View File

@ -5,7 +5,7 @@
#include <ctime>
namespace Azure { namespace Storage {
namespace Azure { namespace Storage { namespace Details {
std::unique_ptr<Core::Http::RawResponse> StoragePerRetryPolicy::Send(
Core::Context const& ctx,
@ -42,4 +42,4 @@ namespace Azure { namespace Storage {
return nextHttpPolicy.Send(ctx, request);
}
}} // namespace Azure::Storage
}}} // namespace Azure::Storage::Details

View File

@ -6,7 +6,7 @@
#include <thread>
namespace Azure { namespace Storage {
namespace Azure { namespace Storage { namespace Details {
std::unique_ptr<Azure::Core::Http::RawResponse> StorageRetryPolicy::Send(
const Azure::Core::Context& ctx,
@ -131,4 +131,4 @@ namespace Azure { namespace Storage {
return pResponse;
}
}} // namespace Azure::Storage
}}} // namespace Azure::Storage::Details

View File

@ -59,14 +59,14 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -89,12 +89,12 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Azure::Storage::Details::StorageScope));
policies.emplace_back(
@ -118,12 +118,12 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -137,14 +137,14 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -168,13 +168,13 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Azure::Storage::Details::StorageScope));
policies.emplace_back(
@ -196,13 +196,13 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -80,14 +80,14 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -114,13 +114,13 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Azure::Storage::Details::StorageScope));
policies.emplace_back(
@ -147,13 +147,13 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -121,14 +121,14 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -152,13 +152,13 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Azure::Storage::Details::StorageScope));
policies.emplace_back(
@ -181,8 +181,8 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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>());
policies.emplace_back(std::make_unique<Storage::Details::StorageRetryPolicy>(dfsRetryOptions));
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());

View File

@ -89,13 +89,13 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -121,12 +121,12 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Core::BearerTokenAuthenticationPolicy>(
credential, Azure::Storage::Details::StorageScope));
policies.emplace_back(
@ -152,12 +152,12 @@ namespace Azure { namespace Storage { namespace Files { namespace DataLake {
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<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -37,7 +37,7 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
/**
* @brief Specify the number of retries and other retry-related options.
*/
StorageRetryOptions RetryOptions;
Core::Http::RetryOptions RetryOptions;
/**
* @brief Customized HTTP client. We're going to use the default one if this is empty.

View File

@ -51,13 +51,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -74,12 +74,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -52,13 +52,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -77,12 +78,13 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
for (const auto& p : options.PerRetryPolicies)
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -55,13 +55,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -78,12 +79,12 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);

View File

@ -47,13 +47,14 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StorageRetryPolicy>(options.RetryOptions));
policies.emplace_back(
std::make_unique<Storage::Details::StorageRetryPolicy>(options.RetryOptions));
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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::SharedKeyPolicy>(credential));
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);
@ -72,12 +73,12 @@ namespace Azure { namespace Storage { namespace Files { namespace Shares {
{
policies.emplace_back(p->Clone());
}
policies.emplace_back(std::make_unique<StoragePerRetryPolicy>());
policies.emplace_back(std::make_unique<Storage::Details::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<Storage::Details::StoragePerRetryPolicy>());
policies.emplace_back(
std::make_unique<Azure::Core::Http::TransportPolicy>(options.TransportPolicyOptions));
m_pipeline = std::make_shared<Azure::Core::Http::HttpPipeline>(policies);