예제 #1
0
std::vector<std::string> Company::get_all_members() const
{
    std::vector<std::string> all_members;
    all_members.push_back(get_leader());
    all_members.push_back(get_medical());
    all_members.insert(all_members.end(), get_members().begin(), get_members().end());
    return all_members;
}
예제 #2
0
int graph_serv::remove_node(const std::string& nid){
  g_.get_model()->remove_node(n2i(nid));
  g_.get_model()->remove_global_node(n2i(nid));

  if(not a_.is_standalone()){
    // send true remove_node_ to other machine,
    // if conflicts with create_node, users should re-run to ensure removal
    std::vector<std::pair<std::string, int> > members;
    get_members(members);
    
    if(not members.empty()){
      common::mprpc::rpc_mclient c(members, a_.timeout); //create global node
      try{
        c.call("remove_global_node", a_.name, nid, pfi::lang::function<int(int,int)>(&jubatus::framework::add<int>));
      }catch(const common::mprpc::rpc_no_result& e){ // pass through
        DLOG(INFO) << __func__ << " " << e.diagnostic_information(true);
      }
    }
  }
  DLOG(INFO) << "node removed: " << nid;
  return 0;
}