Implement the gRPC APIs for the job stats

Add the job stats APIs in the rdc_api_service at the server side rdcd
Add the job stats APIs for the RdcStandaloneHandler at the client side
Make the load librdc.so and librdc_client.so thread safe.
Impelement async update all fields in RdcEmbeddedHandler.

Change-Id: I659d91efb32d1094d3b7f0f2cec39518cd7336ce
This commit is contained in:
Bill(Shuzhou) Liu
2020-04-15 12:20:22 -04:00
committed by Chris Freehill
parent a547dc7efd
commit fe3e75edfa
13 changed files with 495 additions and 66 deletions
+10 -3
View File
@@ -341,9 +341,16 @@ rdc_status_t RdcEmbeddedHandler::rdc_field_unwatch(rdc_gpu_group_t group_id,
// Control API
rdc_status_t RdcEmbeddedHandler::rdc_field_update_all(
uint32_t wait_for_update) {
// TODO(bill_liu): implement the case wait_for_update==0
(void)(wait_for_update);
return watch_table_->rdc_field_update_all();
if (wait_for_update == 1) {
return watch_table_->rdc_field_update_all();
}
// Async update the field and return immediately.
updater_ = std::async(std::launch::async, [this](){
watch_table_->rdc_field_update_all();
});
return RDC_ST_OK;
}
} // namespace rdc