| | |
| | | |
| | | int ret = bus_client_publish(handle, i.data(), i.size(), msg.data(), msg.size()); |
| | | printf("======>> bus_client_pubmsg [%s] ret %d\n", msg.c_str(), ret); |
| | | this_thread::sleep_for(chrono::seconds{2}); |
| | | this_thread::sleep_for(chrono::seconds{1}); |
| | | } |
| | | } |
| | | } |
| | |
| | | while (true) { |
| | | auto msg = bus_client_get_submsg(handle); |
| | | printf("SUB msg topic [%s] data [%s]\n", msg->topic, msg->msg); |
| | | free_submsg(msg); |
| | | } |
| | | |
| | | bus_client_free(handle); |
| | |
| | | creg_free(reg); |
| | | |
| | | size_t count = 0; |
| | | string base_msg("test_request=="); |
| | | string base_msg("test_request==request message -> msg-"); |
| | | this_thread::sleep_for(chrono::seconds(3)); |
| | | while (true) { |
| | | auto msg = base_msg + "request message -> msg-"+to_string(count++); |
| | | auto msg = base_msg + to_string(count++); |
| | | auto reqmsg = make_req_msg(topic, topicl, msg.data(), msg.size()); |
| | | crepmsg* repmsg = NULL; |
| | | if (bus_client_request(handle, reqmsg, &repmsg)){ |
| | |
| | | printf("REPREQ msg [%s] \n", msg->msg); |
| | | |
| | | free_reqmsg(msg); |
| | | this_thread::sleep_for(chrono::seconds{2}); |
| | | // this_thread::sleep_for(chrono::seconds{2}); |
| | | } |
| | | } |
| | | |
| | |
| | | reply(rrtopic); |
| | | |
| | | return 0; |
| | | } |
| | | } |
| | |
| | | char* entry = NULL; |
| | | size_t entry_size = 0; |
| | | json2str(sv, &entry, &entry_size); |
| | | arr[i] = ptrT<char>(entry_size+1); |
| | | memcpy(arr[i], entry, entry_size); |
| | | arr[i] = entry; |
| | | } |
| | | return make_tuple(arr, count); |
| | | }; |
| | |
| | | tie(msg->procid, msg->procidl) = copymemory(pid, pids); |
| | | |
| | | MsgRequestTopic msgRT; |
| | | if (!msgRT.ParseFromArray(data, size)) return NULL; |
| | | if (!msgRT.ParseFromArray(data, size)) { |
| | | free(msg->procid); |
| | | free(msg); |
| | | return NULL; |
| | | } |
| | | tie(msg->msg, msg->msgl) = copymemory(msgRT.data()); |
| | | |
| | | return msg; |
| | |
| | | msgRT.set_topic(topic, topicl); |
| | | msgRT.set_data(data, datal); |
| | | |
| | | auto pbstr = msgRT.SerializeAsString(); |
| | | const auto& pbstr = msgRT.SerializeAsString(); |
| | | tie(msg->msg, msg->msgl) = copymemory(pbstr); |
| | | |
| | | return msg; |