diff --git a/ServerBench.cpp b/ServerBench.cpp index 3bb0d4d..96e519a 100644 --- a/ServerBench.cpp +++ b/ServerBench.cpp @@ -24,8 +24,8 @@ std::atomic transactions; constexpr int kBaseSearchDepth = 32; constexpr int kWindowSize = 10000000; -std::basic_string numToKey(int64_t num) { - std::basic_string result; +std::string numToKey(int64_t num) { + std::string result; result.resize(kBaseSearchDepth + sizeof(int64_t)); memset(result.data(), 0, kBaseSearchDepth); int64_t be = __builtin_bswap64(num); @@ -45,13 +45,13 @@ void workload(weaselab::ConflictSet *cs) { auto pointK = numToKey(pointRv); weaselab::ConflictSet::ReadRange reads[] = { { - {pointK.data(), int(pointK.size())}, + {(const uint8_t *)pointK.data(), int(pointK.size())}, {nullptr, 0}, pointRv, }, { - {beginK.data(), int(beginK.size())}, - {endK.data(), int(endK.size())}, + {(const uint8_t *)beginK.data(), int(beginK.size())}, + {(const uint8_t *)endK.data(), int(endK.size())}, version - 2, }, }; @@ -70,7 +70,7 @@ void workload(weaselab::ConflictSet *cs) { { weaselab::ConflictSet::WriteRange w; auto k = numToKey(version); - w.begin.p = k.data(); + w.begin.p = (const uint8_t *)k.data(); w.end.len = 0; if (version % (kWindowSize / 2) == 0) { for (int l = 0; l <= k.size(); ++l) { @@ -83,9 +83,9 @@ void workload(weaselab::ConflictSet *cs) { int64_t beginN = version - kWindowSize + rand() % kWindowSize; auto b = numToKey(beginN); auto e = numToKey(beginN + 1000); - w.begin.p = b.data(); + w.begin.p = (const uint8_t *)b.data(); w.begin.len = b.size(); - w.end.p = e.data(); + w.end.p = (const uint8_t *)e.data(); w.end.len = e.size(); cs->addWrites(&w, 1, version); }