| 203 | return assertTrue(LiteralStringRef("start"), f); |
| 204 | } |
| 205 | Future<bool> check(Database const& cx) override { |
| 206 | if (!success) { |
| 207 | return false; |
| 208 | } |
| 209 | auto db = cx.getPtr(); |
| 210 | db->addref(); |
| 211 | Reference<IDatabase> database(new ThreadSafeDatabase(db)); |
| 212 | Promise<bool> promise; |
| 213 | auto f = promise.getFuture(); |
| 214 | keepAlive(f, database); |
| 215 | workloadImpl->check(reinterpret_cast<FDBDatabase*>(database.getPtr()), |
| 216 | GenericPromise<bool>(new FDBPromiseImpl(promise))); |
| 217 | return f; |
| 218 | } |
| 219 | void getMetrics(std::vector<PerfMetric>& out) override { |
| 220 | if (!success) { |
| 221 | return; |