mirror of
https://github.com/apple/foundationdb.git
synced 2025-05-16 02:42:23 +08:00
Improve const-correctness for AsyncVar references
This commit is contained in:
parent
ceb83f7f5e
commit
52a64eb04b
@ -114,7 +114,7 @@ struct TesterInterface {
|
|||||||
|
|
||||||
ACTOR Future<Void> testerServerCore(TesterInterface interf,
|
ACTOR Future<Void> testerServerCore(TesterInterface interf,
|
||||||
Reference<ClusterConnectionFile> ccf,
|
Reference<ClusterConnectionFile> ccf,
|
||||||
Reference<AsyncVar<struct ServerDBInfo>> serverDBInfo,
|
Reference<AsyncVar<struct ServerDBInfo> const> serverDBInfo,
|
||||||
LocalityData locality);
|
LocalityData locality);
|
||||||
|
|
||||||
enum test_location_t { TEST_HERE, TEST_ON_SERVERS, TEST_ON_TESTERS };
|
enum test_location_t { TEST_HERE, TEST_ON_SERVERS, TEST_ON_TESTERS };
|
||||||
|
@ -880,8 +880,9 @@ class Database openDBOnServer(Reference<AsyncVar<ServerDBInfo> const> const& db,
|
|||||||
TaskPriority taskID = TaskPriority::DefaultEndpoint,
|
TaskPriority taskID = TaskPriority::DefaultEndpoint,
|
||||||
LockAware = LockAware::False,
|
LockAware = LockAware::False,
|
||||||
EnableLocalityLoadBalance = EnableLocalityLoadBalance::True);
|
EnableLocalityLoadBalance = EnableLocalityLoadBalance::True);
|
||||||
ACTOR Future<Void> extractClusterInterface(Reference<AsyncVar<Optional<struct ClusterControllerFullInterface>>> a,
|
ACTOR Future<Void> extractClusterInterface(
|
||||||
Reference<AsyncVar<Optional<struct ClusterInterface>>> b);
|
Reference<AsyncVar<Optional<struct ClusterControllerFullInterface>> const> in,
|
||||||
|
Reference<AsyncVar<Optional<struct ClusterInterface>>> out);
|
||||||
|
|
||||||
ACTOR Future<Void> fdbd(Reference<ClusterConnectionFile> ccf,
|
ACTOR Future<Void> fdbd(Reference<ClusterConnectionFile> ccf,
|
||||||
LocalityData localities,
|
LocalityData localities,
|
||||||
|
@ -315,7 +315,7 @@ struct CompoundWorkload : TestWorkload {
|
|||||||
|
|
||||||
TestWorkload* getWorkloadIface(WorkloadRequest work,
|
TestWorkload* getWorkloadIface(WorkloadRequest work,
|
||||||
VectorRef<KeyValueRef> options,
|
VectorRef<KeyValueRef> options,
|
||||||
Reference<AsyncVar<ServerDBInfo>> dbInfo) {
|
Reference<AsyncVar<ServerDBInfo> const> dbInfo) {
|
||||||
Value testName = getOption(options, LiteralStringRef("testName"), LiteralStringRef("no-test-specified"));
|
Value testName = getOption(options, LiteralStringRef("testName"), LiteralStringRef("no-test-specified"));
|
||||||
WorkloadContext wcx;
|
WorkloadContext wcx;
|
||||||
wcx.clientId = work.clientId;
|
wcx.clientId = work.clientId;
|
||||||
@ -350,7 +350,7 @@ TestWorkload* getWorkloadIface(WorkloadRequest work,
|
|||||||
return workload;
|
return workload;
|
||||||
}
|
}
|
||||||
|
|
||||||
TestWorkload* getWorkloadIface(WorkloadRequest work, Reference<AsyncVar<ServerDBInfo>> dbInfo) {
|
TestWorkload* getWorkloadIface(WorkloadRequest work, Reference<AsyncVar<ServerDBInfo> const> dbInfo) {
|
||||||
if (work.options.size() < 1) {
|
if (work.options.size() < 1) {
|
||||||
TraceEvent(SevError, "TestCreationError").detail("Reason", "No options provided");
|
TraceEvent(SevError, "TestCreationError").detail("Reason", "No options provided");
|
||||||
fprintf(stderr, "ERROR: No options were provided for workload.\n");
|
fprintf(stderr, "ERROR: No options were provided for workload.\n");
|
||||||
@ -602,7 +602,7 @@ ACTOR Future<Void> runWorkloadAsync(Database cx,
|
|||||||
|
|
||||||
ACTOR Future<Void> testerServerWorkload(WorkloadRequest work,
|
ACTOR Future<Void> testerServerWorkload(WorkloadRequest work,
|
||||||
Reference<ClusterConnectionFile> ccf,
|
Reference<ClusterConnectionFile> ccf,
|
||||||
Reference<AsyncVar<struct ServerDBInfo>> dbInfo,
|
Reference<AsyncVar<struct ServerDBInfo> const> dbInfo,
|
||||||
LocalityData locality) {
|
LocalityData locality) {
|
||||||
state WorkloadInterface workIface;
|
state WorkloadInterface workIface;
|
||||||
state bool replied = false;
|
state bool replied = false;
|
||||||
@ -661,7 +661,7 @@ ACTOR Future<Void> testerServerWorkload(WorkloadRequest work,
|
|||||||
|
|
||||||
ACTOR Future<Void> testerServerCore(TesterInterface interf,
|
ACTOR Future<Void> testerServerCore(TesterInterface interf,
|
||||||
Reference<ClusterConnectionFile> ccf,
|
Reference<ClusterConnectionFile> ccf,
|
||||||
Reference<AsyncVar<struct ServerDBInfo>> dbInfo,
|
Reference<AsyncVar<struct ServerDBInfo> const> dbInfo,
|
||||||
LocalityData locality) {
|
LocalityData locality) {
|
||||||
state PromiseStream<Future<Void>> addWorkload;
|
state PromiseStream<Future<Void>> addWorkload;
|
||||||
state Future<Void> workerFatalError = actorCollection(addWorkload.getFuture());
|
state Future<Void> workerFatalError = actorCollection(addWorkload.getFuture());
|
||||||
|
@ -959,7 +959,7 @@ ACTOR Future<Void> storageServerRollbackRebooter(std::set<std::pair<UID, KeyValu
|
|||||||
UID id,
|
UID id,
|
||||||
LocalityData locality,
|
LocalityData locality,
|
||||||
bool isTss,
|
bool isTss,
|
||||||
Reference<AsyncVar<ServerDBInfo>> db,
|
Reference<AsyncVar<ServerDBInfo> const> db,
|
||||||
std::string folder,
|
std::string folder,
|
||||||
ActorCollection* filesClosed,
|
ActorCollection* filesClosed,
|
||||||
int64_t memoryLimit,
|
int64_t memoryLimit,
|
||||||
@ -1006,7 +1006,7 @@ ACTOR Future<Void> storageServerRollbackRebooter(std::set<std::pair<UID, KeyValu
|
|||||||
ACTOR Future<Void> storageCacheRollbackRebooter(Future<Void> prevStorageCache,
|
ACTOR Future<Void> storageCacheRollbackRebooter(Future<Void> prevStorageCache,
|
||||||
UID id,
|
UID id,
|
||||||
LocalityData locality,
|
LocalityData locality,
|
||||||
Reference<AsyncVar<ServerDBInfo>> db) {
|
Reference<AsyncVar<ServerDBInfo> const> db) {
|
||||||
loop {
|
loop {
|
||||||
ErrorOr<Void> e = wait(errorOr(prevStorageCache));
|
ErrorOr<Void> e = wait(errorOr(prevStorageCache));
|
||||||
if (!e.isError()) {
|
if (!e.isError()) {
|
||||||
@ -2044,14 +2044,14 @@ ACTOR Future<Void> workerServer(Reference<ClusterConnectionFile> connFile,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ACTOR Future<Void> extractClusterInterface(Reference<AsyncVar<Optional<ClusterControllerFullInterface>>> a,
|
ACTOR Future<Void> extractClusterInterface(Reference<AsyncVar<Optional<ClusterControllerFullInterface>> const> in,
|
||||||
Reference<AsyncVar<Optional<ClusterInterface>>> b) {
|
Reference<AsyncVar<Optional<ClusterInterface>>> out) {
|
||||||
loop {
|
loop {
|
||||||
if (a->get().present())
|
if (in->get().present())
|
||||||
b->set(a->get().get().clientInterface);
|
out->set(in->get().get().clientInterface);
|
||||||
else
|
else
|
||||||
b->set(Optional<ClusterInterface>());
|
out->set(Optional<ClusterInterface>());
|
||||||
wait(a->onChange());
|
wait(in->onChange());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2086,7 +2086,7 @@ ACTOR Future<Void> printTimeout() {
|
|||||||
return Void();
|
return Void();
|
||||||
}
|
}
|
||||||
|
|
||||||
ACTOR Future<Void> printOnFirstConnected(Reference<AsyncVar<Optional<ClusterInterface>>> ci) {
|
ACTOR Future<Void> printOnFirstConnected(Reference<AsyncVar<Optional<ClusterInterface>> const> ci) {
|
||||||
state Future<Void> timeoutFuture = printTimeout();
|
state Future<Void> timeoutFuture = printTimeout();
|
||||||
loop {
|
loop {
|
||||||
choose {
|
choose {
|
||||||
|
@ -224,7 +224,7 @@ struct ReadWriteWorkload : KVWorkload {
|
|||||||
Future<Void> setup(Database const& cx) override { return _setup(cx, this); }
|
Future<Void> setup(Database const& cx) override { return _setup(cx, this); }
|
||||||
Future<Void> start(Database const& cx) override { return _start(cx, this); }
|
Future<Void> start(Database const& cx) override { return _start(cx, this); }
|
||||||
|
|
||||||
ACTOR static Future<bool> traceDumpWorkers(Reference<AsyncVar<ServerDBInfo>> db) {
|
ACTOR static Future<bool> traceDumpWorkers(Reference<AsyncVar<ServerDBInfo> const> db) {
|
||||||
try {
|
try {
|
||||||
loop {
|
loop {
|
||||||
choose {
|
choose {
|
||||||
|
@ -49,7 +49,7 @@ struct WorkloadContext {
|
|||||||
Standalone<VectorRef<KeyValueRef>> options;
|
Standalone<VectorRef<KeyValueRef>> options;
|
||||||
int clientId, clientCount;
|
int clientId, clientCount;
|
||||||
int64_t sharedRandomNumber;
|
int64_t sharedRandomNumber;
|
||||||
Reference<AsyncVar<struct ServerDBInfo>> dbInfo;
|
Reference<AsyncVar<struct ServerDBInfo> const> dbInfo;
|
||||||
|
|
||||||
WorkloadContext();
|
WorkloadContext();
|
||||||
WorkloadContext(const WorkloadContext&);
|
WorkloadContext(const WorkloadContext&);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user