| 85 | } |
| 86 | |
| 87 | Status ControlService::Init() { |
| 88 | int num_svc_threads = FLAGS_control_service_num_svc_threads > 0 ? |
| 89 | FLAGS_control_service_num_svc_threads : CpuInfo::num_cores(); |
| 90 | RpcMgr* rpc_mgr = ExecEnv::GetInstance()->rpc_mgr(); |
| 91 | // The maximum queue length is set to maximum 32-bit value. Its actual capacity is |
| 92 | // bound by memory consumption against 'mem_tracker_'. |
| 93 | RETURN_IF_ERROR(rpc_mgr->RegisterService(num_svc_threads, |
| 94 | std::numeric_limits<int32_t>::max(), |
| 95 | METRIC_control_service_incoming_queue_time.Instantiate(rpc_mgr->metric_entity()), |
| 96 | this, mem_tracker_.get(), ExecEnv::GetInstance()->rpc_metrics())); |
| 97 | return Status::OK(); |
| 98 | } |
| 99 | |
| 100 | Status ControlService::GetProxy(const NetworkAddressPB& address, const string& hostname, |
| 101 | unique_ptr<ControlServiceProxy>* proxy) { |