MCPcopy Create free account
hub / github.com/apple/foundationdb / callWorkload

Method callWorkload

bindings/java/JavaWorkload.cpp:495–517  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

493 }
494
495 void callWorkload(jobject workload, FDBDatabase* db, const char* method, GenericPromise<bool>&& promise) {
496 jobject jPromise = nullptr;
497 try {
498 auto clazz = getClass("com/apple/foundationdb/testing/AbstractWorkload");
499 auto jdb = createDatabase(workload, db);
500 jPromise = createPromise(std::move(promise));
501 env->CallVoidMethod(
502 workload,
503 getMethod(
504 clazz, method, "(Lcom/apple/foundationdb/Database;Lcom/apple/foundationdb/testing/Promise;)V"),
505 jdb,
506 jPromise);
507 env->DeleteLocalRef(jdb);
508 env->DeleteLocalRef(jPromise);
509 jPromise = nullptr;
510 checkException();
511 } catch (...) {
512 if (jPromise) {
513 env->DeleteLocalRef(jPromise);
514 }
515 throw;
516 }
517 }
518};
519
520struct JavaWorkload final : FDBWorkload {

Callers 3

setupMethod · 0.80
startMethod · 0.80
checkMethod · 0.80

Calls 3

createDatabaseFunction · 0.85
moveFunction · 0.85
getMethodFunction · 0.85

Tested by

no test coverage detected