AWS SDK for C++

AWS SDK for C++ Version 1.11.875

Loading...
Searching...
No Matches
S3TransferManagerConfiguration.h
1
6#pragma once
7
8#include <aws/s3-transfer/S3Transfer_EXPORTS.h>
9#include <aws/s3/S3ClientConfiguration.h>
10#include <aws/crt/Optional.h>
11#include <aws/crt/io/TlsOptions.h>
12#include <aws/crt/s3/S3.h>
13#include <cstdint>
14#include <memory>
15
16namespace Aws {
17namespace S3 {
18namespace Transfer {
19
20constexpr uint64_t DEFAULT_PART_SIZE_BYTES = 8ULL * 1024 * 1024;
21constexpr uint64_t DEFAULT_MULTIPART_UPLOAD_THRESHOLD_BYTES = 16ULL * 1024 * 1024;
22
23struct AWS_S3_TRANSFER_API S3TransferManagerConfiguration final : public Aws::S3::S3ClientConfiguration {
25
27 explicit S3TransferManagerConfiguration(const char* profileName, bool shouldDisableIMDS = false);
28 explicit S3TransferManagerConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false);
30
31 uint64_t partSize = DEFAULT_PART_SIZE_BYTES;
32 // Object size at or above which a multipart transfer is used. Must be >= partSize.
33 uint64_t multipartUploadThreshold = DEFAULT_MULTIPART_UPLOAD_THRESHOLD_BYTES;
34 // 0 means inherit the CRT's own default.
35 double throughputTargetGbps = 0.0;
36 Aws::Crt::Optional<Aws::Crt::Io::TlsConnectionOptions> tlsConnectionOptions;
37
38 std::shared_ptr<Aws::Crt::S3::S3Client> crtClient;
39
40 private:
41 void LoadS3TransferManagerSpecificConfig(const Aws::String& profileName);
42};
43} // namespace Transfer
44} // namespace S3
45} // namespace Aws
constexpr uint64_t DEFAULT_PART_SIZE_BYTES
constexpr uint64_t DEFAULT_MULTIPART_UPLOAD_THRESHOLD_BYTES
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
S3TransferManagerConfiguration(const char *profileName, bool shouldDisableIMDS=false)
Aws::Crt::Optional< Aws::Crt::Io::TlsConnectionOptions > tlsConnectionOptions
S3TransferManagerConfiguration(bool useSmartDefaults, const char *defaultMode="legacy", bool shouldDisableIMDS=false)
S3TransferManagerConfiguration(const Aws::Client::ClientConfigurationInitValues &configuration={})
S3TransferManagerConfiguration(const Aws::Client::ClientConfiguration &config)