24#include <json/value.h>
74 CasDownloader(std::string downloader_path, std::vector<std::string> flags,
75 bool prefer_uncompressed =
false);
78 const std::string& service_account_filepath);
81 const std::string& build_id,
const std::string& build_target,
82 const std::string& artifact_name,
const std::string& target_directory,
84 const std::optional<std::string>& stats_filepath = std::nullopt);
88 const std::string& build_target,
89 const std::string& artifact_name,
Definition: expected.h:86
Definition: cas_downloader.h:72
static Result< std::unique_ptr< CasDownloader > > Create(const CasDownloaderFlags &cas_downloader_flags, const std::string &service_account_filepath)
Definition: cas_downloader.cpp:194
Json::Value cas_digests_
Definition: cas_downloader.h:96
virtual ~CasDownloader()=default
bool prefer_uncompressed_
Definition: cas_downloader.h:94
std::string downloader_path_
Definition: cas_downloader.h:92
std::string build_desc_
Definition: cas_downloader.h:95
Result< CasIdentifier > GetCasIdentifier(const std::string &build_id, const std::string &build_target, const std::string &artifact_name, const DigestsFetcher &digests_fetcher)
Definition: cas_downloader.cpp:268
std::vector< std::string > flags_
Definition: cas_downloader.h:93
CasDownloader(std::string downloader_path, std::vector< std::string > flags, bool prefer_uncompressed=false)
Definition: cas_downloader.cpp:230
virtual Result< void > DownloadFile(const std::string &build_id, const std::string &build_target, const std::string &artifact_name, const std::string &target_directory, const DigestsFetcher &digests_fetcher, const std::optional< std::string > &stats_filepath=std::nullopt)
Definition: cas_downloader.cpp:237
Definition: alloc_utils.cpp:23
constexpr char kFlagDumpJson[]
Definition: cas_downloader.h:36
constexpr char kKeyDownloaderPath[]
Definition: cas_downloader.h:31
constexpr char kFlagDigest[]
Definition: cas_downloader.h:34
constexpr char kFlagCasInstance[]
Definition: cas_downloader.h:38
constexpr char kFlagDisableCache[]
Definition: cas_downloader.h:37
constexpr char kFlagUseAdc[]
Definition: cas_downloader.h:41
constexpr char kFlagCasAddr[]
Definition: cas_downloader.h:39
constexpr char kFlagDir[]
Definition: cas_downloader.h:35
constexpr char kKeyFlags[]
Definition: cas_downloader.h:32
constexpr char kFlagServiceAccountJson[]
Definition: cas_downloader.h:40
std::function< Result< std::string >(std::string)> DigestsFetcher
Definition: cas_downloader.h:60
Definition: cas_flags.h:36
Definition: cas_downloader.h:48
std::string filename
Definition: cas_downloader.h:53
std::string cas_instance
Definition: cas_downloader.h:49
std::string digest
Definition: cas_downloader.h:51
std::string cas_addr
Definition: cas_downloader.h:50