本文整理汇总了C++中fetcherinfo::Item::action方法的典型用法代码示例。如果您正苦于以下问题:C++ Item::action方法的具体用法?C++ Item::action怎么用?C++ Item::action使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fetcherinfo::Item
的用法示例。
在下文中一共展示了Item::action方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Error
// Returns the resulting file or in case of extraction the destination
// directory (for logging).
static Try<string> fetchThroughCache(
const FetcherInfo::Item& item,
const Option<string>& cacheDirectory,
const string& sandboxDirectory,
const Option<string>& frameworksHome)
{
if (cacheDirectory.isNone() || cacheDirectory.get().empty()) {
return Error("Cache directory not specified");
}
if (!item.has_cache_filename() || item.cache_filename().empty()) {
// This should never happen if this program is used by the Mesos
// slave and could then be a CHECK. But other uses are possible.
return Error("No cache file name for: " + item.uri().value());
}
CHECK_NE(FetcherInfo::Item::BYPASS_CACHE, item.action())
<< "Unexpected fetcher action selector";
if (item.action() == FetcherInfo::Item::DOWNLOAD_AND_CACHE) {
LOG(INFO) << "Downloading into cache";
Try<Nothing> mkdir = os::mkdir(cacheDirectory.get());
if (mkdir.isError()) {
return Error("Failed to create fetcher cache directory '" +
cacheDirectory.get() + "': " + mkdir.error());
}
Try<string> downloaded = download(
item.uri().value(),
path::join(cacheDirectory.get(), item.cache_filename()),
frameworksHome);
if (downloaded.isError()) {
return Error(downloaded.error());
}
}
return fetchFromCache(item, cacheDirectory.get(), sandboxDirectory);
}
示例2: fetchBypassingCache
// Returns the resulting file or in case of extraction the destination
// directory (for logging).
static Try<string> fetch(
const FetcherInfo::Item& item,
const Option<string>& cacheDirectory,
const string& sandboxDirectory,
const Option<string>& frameworksHome)
{
LOG(INFO) << "Fetching URI '" << item.uri().value() << "'";
if (item.action() == FetcherInfo::Item::BYPASS_CACHE) {
return fetchBypassingCache(
item.uri(),
sandboxDirectory,
frameworksHome);
}
return fetchThroughCache(
item,
cacheDirectory,
sandboxDirectory,
frameworksHome);
}