83 FetchAuth(
const std::string& u,
const std::string& p,
const std::string& t,
84 const std::vector<std::string>& h = {},
const std::string& r =
"",
85 const std::string& st =
"")
97 std::shared_ptr<void>
ctx_;
135 std::shared_ptr<std::vector<ChunkRequest>> requests)
146 std::shared_ptr<std::vector<ChunkRequest>> reqs)
163 virtual std::pair<uint64_t, uint64_t>
next() = 0;
170 ScheduledFetch(std::shared_ptr<void> ctx, std::unique_ptr<IRequestBatch> requests,
171 std::shared_ptr<std::vector<FetchResult>> results,
172 std::shared_ptr<std::vector<std::promise<FetchResult>>> promises =
nullptr)
179 std::shared_ptr<std::vector<FetchResult>>
results_;
180 std::shared_ptr<std::vector<std::promise<FetchResult>>>
promises_;
201 std::pair<uint64_t, uint64_t>
next()
override
203 auto& req = *
iter_++;
204 return {req.offset_, req.end_};
209 std::vector<ChunkRequest>::iterator
iter_;
Manages a partially ordered deque of buffer chunks that are added asynchronously out of order.
Definition ChunkBuffer.h:47
ResWindow.
Definition CompressedChunkCache.h:36
std::shared_ptr< std::vector< ChunkRequest > > requests_
Definition FetchCommon.h:139
std::shared_ptr< ChunkBuffer<> > chunkBuffer_
Definition FetchCommon.h:138
ChunkContext(std::shared_ptr< ChunkBuffer<> > chunkBuffer, std::shared_ptr< std::vector< ChunkRequest > > requests)
Definition FetchCommon.h:134
std::pair< uint64_t, uint64_t > next() override
Definition FetchCommon.h:201
size_t remaining() const override
Definition FetchCommon.h:197
bool hasMore() const override
Definition FetchCommon.h:193
ChunkRequestBatch(std::shared_ptr< std::vector< ChunkRequest > > requests)
Definition FetchCommon.h:188
std::shared_ptr< std::vector< ChunkRequest > > requests_
Definition FetchCommon.h:208
std::vector< ChunkRequest >::iterator iter_
Definition FetchCommon.h:209
ChunkRequest(uint16_t id, uint64_t start, uint64_t end)
Definition FetchCommon.h:126
uint16_t requestIndex_
Definition FetchCommon.h:129
std::shared_ptr< ChunkBuffer<> > chunkBuffer_
Definition FetchCommon.h:151
std::shared_ptr< std::vector< ChunkRequest > > requests_
Definition FetchCommon.h:152
std::vector< std::promise< FetchResult > > promises_
Definition FetchCommon.h:153
ChunkTask(std::shared_ptr< ChunkBuffer<> > chunkBuffer, std::shared_ptr< std::vector< ChunkRequest > > reqs)
Definition FetchCommon.h:145
uint64_t end_
Definition FetchCommon.h:120
DataSlice(uint64_t offset, uint64_t length)
Definition FetchCommon.h:115
uint64_t length_
Definition FetchCommon.h:119
uint64_t offset_
Definition FetchCommon.h:118
std::string password_
Definition FetchCommon.h:44
int8_t s3_use_virtual_hosting_
Definition FetchCommon.h:51
long connect_timeout_
Definition FetchCommon.h:76
std::vector< std::string > custom_headers_
Definition FetchCommon.h:46
uint32_t max_retry_
Definition FetchCommon.h:79
std::string bearer_token_
Definition FetchCommon.h:45
std::string netrc_file_
Definition FetchCommon.h:62
std::string s3_endpoint_
Definition FetchCommon.h:49
std::string cookie_
Definition FetchCommon.h:56
long timeout_
Definition FetchCommon.h:75
std::string request_payer_
Definition FetchCommon.h:69
int8_t s3_use_https_
Definition FetchCommon.h:50
std::string cookie_jar_
Definition FetchCommon.h:58
std::string proxy_
Definition FetchCommon.h:65
std::string session_token_
Definition FetchCommon.h:48
std::string proxy_userpwd_
Definition FetchCommon.h:66
std::string user_agent_
Definition FetchCommon.h:72
std::string region_
Definition FetchCommon.h:47
bool s3_no_sign_request_
Definition FetchCommon.h:52
FetchAuth(const std::string &u, const std::string &p, const std::string &t, const std::vector< std::string > &h={}, const std::string &r="", const std::string &st="")
Definition FetchCommon.h:83
std::string cookie_file_
Definition FetchCommon.h:57
uint32_t retry_delay_
Definition FetchCommon.h:80
bool netrc_
Definition FetchCommon.h:61
std::string username_
Definition FetchCommon.h:43
bool s3_allow_insecure_
Definition FetchCommon.h:53
FetchJob(std::set< uint16_t > &&s)
Definition FetchCommon.h:108
std::promise< bool > promise_
Definition FetchCommon.h:110
std::set< uint16_t > slated
Definition FetchCommon.h:109
std::shared_ptr< void > ctx_
Definition FetchCommon.h:97
bool success_
Definition FetchCommon.h:101
long responseCode_
Definition FetchCommon.h:100
std::vector< uint8_t > data_
Definition FetchCommon.h:99
uint32_t retryCount_
Definition FetchCommon.h:102
size_t requestIndex_
Definition FetchCommon.h:98
FetchResult(size_t id)
Definition FetchCommon.h:95
Definition FetchCommon.h:158
virtual ~IRequestBatch()=default
virtual size_t remaining() const =0
virtual bool hasMore() const =0
virtual std::pair< uint64_t, uint64_t > next()=0
Definition FetchCommon.h:34
int port
Definition FetchCommon.h:38
std::string bucket
Definition FetchCommon.h:36
std::string key
Definition FetchCommon.h:37
std::string host
Definition FetchCommon.h:35
size_t scheduled_
Definition FetchCommon.h:181
size_t completed_
Definition FetchCommon.h:182
std::shared_ptr< std::vector< std::promise< FetchResult > > > promises_
Definition FetchCommon.h:180
std::unique_ptr< IRequestBatch > requests_
Definition FetchCommon.h:178
ScheduledFetch(std::shared_ptr< void > ctx, std::unique_ptr< IRequestBatch > requests, std::shared_ptr< std::vector< FetchResult > > results, std::shared_ptr< std::vector< std::promise< FetchResult > > > promises=nullptr)
Definition FetchCommon.h:170
std::shared_ptr< std::vector< FetchResult > > results_
Definition FetchCommon.h:179
std::shared_ptr< void > ctx_
Definition FetchCommon.h:177