| | |
| | | std::string proc((const char *) proc_id, proc_id_len); |
| | | MsgPublish pub; |
| | | pub.ParseFromArray(data, data_len); |
| | | printf("Sub data, %s : %s\n", pub.topic().c_str(), pub.data().c_str()); |
| | | printf("****************************************** Sub data, %s : %s\n", pub.topic().c_str(), pub.data().c_str()); |
| | | } |
| | | |
| | | void ServerProc(const void *proc_id, |
| | |
| | | |
| | | // BHCleanup(); |
| | | // return; |
| | | const std::string proc_id = "demo_client"; |
| | | bool reg = false; |
| | | for (int i = 0; i < 3 && !reg; ++i) { |
| | | ProcInfo proc; |
| | | proc.set_proc_id("demo_client"); |
| | | proc.set_proc_id(proc_id); |
| | | proc.set_public_info("public info of demo_client. etc..."); |
| | | std::string proc_buf(proc.SerializeAsString()); |
| | | void *reply = 0; |
| | |
| | | } |
| | | |
| | | BHFree(reply, reply_len); |
| | | Sleep(1s); |
| | | // Sleep(1s); |
| | | } |
| | | if (!reg) { |
| | | return; |
| | | } |
| | | |
| | | const std::string topic_ = "topic_"; |
| | | const std::string topic_ = proc_id + "_topic_"; |
| | | |
| | | { // Server Register Topics |
| | | MsgTopicList topics; |
| | |
| | | void *reply = 0; |
| | | int reply_len = 0; |
| | | DEFER1(BHFree(reply, reply_len)); |
| | | bool r = BHRequest(dest.data(), dest.size(), s.data(), s.size(), &proc_id, &proc_id_len, &reply, &reply_len, 100); |
| | | bool r = BHRequest(dest.data(), dest.size(), s.data(), s.size(), &proc_id, &proc_id_len, &reply, &reply_len, 1000); |
| | | if (!r) { |
| | | int ec = 0; |
| | | std::string msg; |
| | |
| | | // } |
| | | } |
| | | } |
| | | // return; |
| | | |
| | | { // Subscribe |
| | | MsgTopicList topics; |
| | | topics.add_topic_list("#center.node"); |
| | | for (int i = 0; i < 10; ++i) { |
| | | topics.add_topic_list(topic_ + std::to_string(i * 2)); |
| | | } |
| | |
| | | void *reply = 0; |
| | | int reply_len = 0; |
| | | DEFER1(BHFree(reply, reply_len)); |
| | | bool r = BHRequest(dest.data(), dest.size(), s.data(), s.size(), &proc_id, &proc_id_len, &reply, &reply_len, 100); |
| | | bool r = BHRequest(dest.data(), dest.size(), s.data(), s.size(), &proc_id, &proc_id_len, &reply, &reply_len, 1000); |
| | | if (!r) { |
| | | int ec = 0; |
| | | std::string msg; |
| | |
| | | |
| | | ThreadManager threads; |
| | | |
| | | #if 0 |
| | | #if 1 |
| | | BHStartWorker(&ServerProc, &SubRecvProc, &ClientProc); |
| | | #else |
| | | BHStartWorker(FServerCallback(), &SubRecvProc, &ClientProc); |
| | |
| | | threads.Launch(hb, &run); |
| | | threads.Launch(showStatus, &run); |
| | | int ncli = 10; |
| | | const int64_t nreq = 1000 * 100; |
| | | const int64_t nreq = 10; //00 * 100; |
| | | |
| | | for (int i = 0; i < 10; ++i) { |
| | | SyncRequest(i); |