| 89 | } |
| 90 | |
| 91 | Future<Void> fetchTimes(Reference<ReadYourWritesTransaction> tr, std::map<Version, int64_t>* pVersionTimeMap) { |
| 92 | std::vector<Future<Void>> futures; |
| 93 | |
| 94 | // Resolve each version in the map, |
| 95 | for (auto& p : *pVersionTimeMap) { |
| 96 | futures.push_back(map(timeKeeperEpochsFromVersion(p.first, tr), [=](Optional<int64_t> t) { |
| 97 | if (t.present()) |
| 98 | pVersionTimeMap->at(p.first) = t.get(); |
| 99 | else |
| 100 | pVersionTimeMap->erase(p.first); |
| 101 | return Void(); |
| 102 | })); |
| 103 | } |
| 104 | |
| 105 | return waitForAll(futures); |
| 106 | } |
| 107 | |
| 108 | Future<Void> BackupDescription::resolveVersionTimes(Database cx) { |
| 109 | // Populate map with versions needed |
no test coverage detected