aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
Aws::Crt::S3 Namespace Reference

Classes

class  S3BufferTicket
 
class  S3ChecksumConfig
 
class  S3Client
 
class  S3ClientConfig
 
struct  S3ClientShutdownCallbackData
 
class  S3CopyObjectMetaRequestOptions
 
class  S3DefaultObjectMetaRequestOptions
 
class  S3GetObjectMetaRequestOptions
 
class  S3MetaRequest
 
struct  S3MetaRequestCallbackData
 
class  S3MetaRequestOptions
 
struct  S3MetaRequestResult
 
struct  S3MetaRequestWriteData
 
class  S3PutObjectMetaRequestOptions
 
class  S3RetryStrategy
 
struct  S3RetryStrategyExponentialBackoffOptions
 

Enumerations

enum class  S3MetaRequestType { Default , GetObject , PutObject , CopyObject }
 
enum class  S3ChecksumLocation { None , Header , Trailer }
 
enum class  S3ChecksumAlgorithm {
  None , Crc32c , Crc32 , Sha1 ,
  Sha256 , Crc64Nvme , Sha512 , XXHash64 ,
  XXHash3_64 , XXHash3_128
}
 
enum class  S3TlsMode { Enabled , Disabled }
 
enum class  S3RecvFileMode { CreateOrReplace , CreateNew , CreateOrAppend , WriteToPosition }
 
enum class  S3RetryStrategyType { Default , Standard , ExponentialBackoff , NoRetry }
 

Functions

template<typename SubclassT , typename... Args>
static ScopedResource< S3MetaRequestOptionss_makeOptions (Args &&...args) noexcept
 
template<typename SubclassT , typename ConfigureFn >
static ScopedResource< S3MetaRequestOptionss_makeConfiguredOptions (const std::shared_ptr< Http::HttpRequest > &request, ConfigureFn &&configure) noexcept
 
static Vector< Http::HttpHeaders_materializeHeaders (const struct aws_http_headers *headers) noexcept
 
static int s_onHeaders (struct aws_s3_meta_request *, const struct aws_http_headers *headers, int responseStatus, void *user_data)
 
static int s_onBody (struct aws_s3_meta_request *, const ByteCursor *body, uint64_t rangeStart, void *user_data)
 
static int s_onBodyEx (struct aws_s3_meta_request *, const ByteCursor *body, const struct aws_s3_meta_request_receive_body_extra_info info, void *user_data)
 
static void s_onProgress (struct aws_s3_meta_request *, const struct aws_s3_meta_request_progress *progress, void *user_data)
 
static void s_onFinish (struct aws_s3_meta_request *, const struct aws_s3_meta_request_result *result, void *user_data)
 
static void s_onShutdown (void *user_data)
 
static void s_onClientShutdown (void *user_data)
 

Enumeration Type Documentation

◆ S3ChecksumAlgorithm

The checksum algorithm used for request-side checksum calculation or response validation. A subset of the algorithms aws-c-s3 supports.

Enumerator
None 
Crc32c 
Crc32 
Sha1 
Sha256 
Crc64Nvme 
Sha512 
XXHash64 
XXHash3_64 
XXHash3_128 

◆ S3ChecksumLocation

Where a calculated request-side checksum is placed on the wire: None adds no payload checksum, Header puts the checksum in the request headers, and Trailer aws-chunked-encodes the payload and puts the checksum in the trailer.

Enumerator
None 
Header 
Trailer 

◆ S3MetaRequestType

The kind of S3 operation that a meta request will perform. Default is a single-request pass-through; the other values enable the CRT's multi-part orchestration for the named operation.

Enumerator
Default 
GetObject 
PutObject 
CopyObject 

◆ S3RecvFileMode

How S3MetaRequestOptions::SetRecvFilepath opens the destination file. Mirrors aws_s3_recv_file_options. Only meaningful when a receive filepath is configured; the enum values are mapped to the C enum by a switch in S3.cpp.

Enumerator
CreateOrReplace 

Create the file, or replace it if it already exists.

CreateNew 

Always create a new file; fail if the path already exists.

CreateOrAppend 

Create a new file if it doesn't exist; otherwise append.

WriteToPosition 

Write to an existing file at the position supplied via SetRecvFilePosition; the file must already exist.

◆ S3RetryStrategyType

Which network-level retry strategy the S3 client uses. Mirrors the flavors aws-c-io exposes. Default leaves the choice to the CRT, which builds its own standard strategy when none is supplied.

Enumerator
Default 

Leave retry_strategy unset; the CRT builds its default strategy.

Standard 

Token-bucket standard strategy (aws_retry_strategy_new_standard).

ExponentialBackoff 

Exponential-backoff strategy (aws_retry_strategy_new_exponential_backoff).

NoRetry 

Disable retries (aws_retry_strategy_new_no_retry).

◆ S3TlsMode

Whether the client establishes connections over TLS. The client only consults the configured TLS connection options when the mode is Enabled.

Enumerator
Enabled 
Disabled 

Function Documentation

◆ s_makeConfiguredOptions()

static ScopedResource< S3MetaRequestOptions > Aws::Crt::S3::s_makeConfiguredOptions ( const std::shared_ptr< Http::HttpRequest > &  request,
ConfigureFn &&  configure 
)
staticnoexcept

◆ s_makeOptions()

template<typename SubclassT , typename... Args>
static ScopedResource< S3MetaRequestOptions > Aws::Crt::S3::s_makeOptions ( Args &&...  args)
staticnoexcept

◆ s_materializeHeaders()

static Vector< Http::HttpHeader > Aws::Crt::S3::s_materializeHeaders ( const struct aws_http_headers headers)
staticnoexcept

◆ s_onBody()

static int Aws::Crt::S3::s_onBody ( struct aws_s3_meta_request ,
const ByteCursor body,
uint64_t  rangeStart,
void user_data 
)
static

◆ s_onBodyEx()

static int Aws::Crt::S3::s_onBodyEx ( struct aws_s3_meta_request ,
const ByteCursor body,
const struct aws_s3_meta_request_receive_body_extra_info  info,
void user_data 
)
static

◆ s_onClientShutdown()

static void Aws::Crt::S3::s_onClientShutdown ( void user_data)
static

◆ s_onFinish()

static void Aws::Crt::S3::s_onFinish ( struct aws_s3_meta_request ,
const struct aws_s3_meta_request_result result,
void user_data 
)
static

◆ s_onHeaders()

static int Aws::Crt::S3::s_onHeaders ( struct aws_s3_meta_request ,
const struct aws_http_headers headers,
int  responseStatus,
void user_data 
)
static

◆ s_onProgress()

static void Aws::Crt::S3::s_onProgress ( struct aws_s3_meta_request ,
const struct aws_s3_meta_request_progress progress,
void user_data 
)
static

◆ s_onShutdown()

static void Aws::Crt::S3::s_onShutdown ( void user_data)
static