本文整理汇总了C++中process::Future::isReady方法的典型用法代码示例。如果您正苦于以下问题:C++ Future::isReady方法的具体用法?C++ Future::isReady怎么用?C++ Future::isReady使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类process::Future
的用法示例。
在下文中一共展示了Future::isReady方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AwaitAssertAbandoned
::testing::AssertionResult AwaitAssertAbandoned(
const char* expr,
const char*, // Unused string representation of 'duration'.
const process::Future<T>& actual,
const Duration& duration)
{
process::Owned<process::Latch> latch(new process::Latch());
actual.onAny([=]() { latch->trigger(); });
actual.onAbandoned([=]() { latch->trigger(); });
if (!latch->await(duration)) {
return ::testing::AssertionFailure()
<< "Failed to wait " << duration << " for " << expr;
} else if (actual.isDiscarded()) {
return ::testing::AssertionFailure()
<< expr << " was discarded";
} else if (actual.isReady()) {
return ::testing::AssertionFailure()
<< expr << " is ready (" << ::testing::PrintToString(actual.get()) << ")";
} else if (actual.isFailed()) {
return ::testing::AssertionFailure()
<< "(" << expr << ").failure(): " << actual.failure();
}
CHECK_ABANDONED(actual);
return ::testing::AssertionSuccess();
}
示例2: Failure
Future<Nothing> _destroy(
const ContainerID& containerId,
const process::Future<Nothing>& destroyed)
{
if (!destroyed.isReady()) {
return Failure("Failed to destroy launcher: " +
(destroyed.isFailed() ? destroyed.failure() : "discarded"));
}
return Nothing();
}
示例3: Some
Option<Error> _check_failed(const process::Future<T>& f)
{
if (f.isPending()) {
return Some("is PENDING");
} else if (f.isReady()) {
return Some("is READY");
} else if (f.isDiscarded()) {
return Some("is DISCARDED");
} else {
CHECK(f.isFailed());
return None();
}
}
示例4: Error
Option<Error> _check_discarded(const process::Future<T>& f)
{
if (f.isPending()) {
return Error("is PENDING");
} else if (f.isReady()) {
return Error("is READY");
} else if (f.isFailed()) {
return Error("is FAILED: " + f.failure());
} else {
CHECK(f.isDiscarded());
return None();
}
}
示例5: AwaitAssertDiscarded
::testing::AssertionResult AwaitAssertDiscarded(
const char* expr,
const char*, // Unused string representation of 'duration'.
const process::Future<T>& actual,
const Duration& duration)
{
if (!process::internal::await(actual, duration)) {
return ::testing::AssertionFailure()
<< "Failed to wait " << duration << " for " << expr;
} else if (actual.isFailed()) {
return ::testing::AssertionFailure()
<< "(" << expr << ").failure(): " << actual.failure();
} else if (actual.isReady()) {
return ::testing::AssertionFailure()
<< expr << " is ready (" << ::testing::PrintToString(actual.get()) << ")";
}
return ::testing::AssertionSuccess();
}