AWS SDK for C++

AWS SDK for C++ Version 1.11.868

Loading...
Searching...
No Matches
DownloadHandle.h
1
5#pragma once
6#include <aws/s3-transfer/S3Transfer_EXPORTS.h>
7#include <future>
8#include <memory>
9#include <aws/s3-transfer/DownloadResponse.h>
10#include <aws/core/utils/memory/AWSMemory.h>
11
12
13namespace Aws {
14namespace S3 {
15namespace Transfer {
16
17class DownloadHandleImpl;
18
19// Move-only handle for a single in-flight download.
20class AWS_S3_TRANSFER_API DownloadHandle final {
21public:
27 DownloadHandle& operator=(DownloadHandle&&) noexcept;
28
29 // Resolves once the transfer finishes, succeeds, or fails.
30 std::future<DownloadOutcome> CompletionFuture();
31
32 // Returns immediately; the completion future resolves with a failure once the cancel takes effect.
33 void Cancel();
34
35private:
37};
38
39} // namespace Transfer
40} // namespace S3
41} // namespace Aws
DownloadHandle & operator=(const DownloadHandle &)=delete
DownloadHandle(Aws::UniquePtr< DownloadHandleImpl > impl)
DownloadHandle(DownloadHandle &&) noexcept
DownloadHandle(const DownloadHandle &)=delete
std::unique_ptr< T, D > UniquePtr