void set_node(const char *name, const char *addr, int port) { static nodeid_t nid = 0; nid++; char *ip = gethostip(addr); set_nid_sender(nid, ip, port); set_gid_nid(1, nid); node_info_t ninfo; ninfo.nid = nid; ninfo.port = port; SAFE_ASSERT(strlen(name) + 1 < 100); SAFE_ASSERT(strlen(ip) + 1 < 100); strcpy(ninfo.name, name); strcpy(ninfo.ip, ip); mpr_hash_set(ht_node_info_, name, strlen(name) + 1, &ninfo, sizeof(node_info_t)); *(nodeid_t *)apr_array_push(arr_nodes_) = nid; LOG_INFO("node added. name:%s, id:%" PRIu64", addr: %s, port: %d", name, nid, addr, port); free(ip); }
void server_reg(server_t *svr, msgid_t msgid, void* fun) { LOG_TRACE("server regisger function, msg type:%x", (int32_t)msgid); SAFE_ASSERT(fun != NULL); mpr_hash_set(svr->comm->ht, &msgid, SZ_MSGID, &fun, sizeof(void*)); }
void client_reg(client_t *cli, msgid_t msgid, void* fun) { LOG_TRACE("client regisger function, %x", fun); mpr_hash_set(cli->comm->ht, &msgid, SZ_MSGID, &fun, sizeof(void*)); }