zhangmeng
2022-12-14 4fc07d5d891c251a1fe09c17ee16467d961a8f74
main.cpp
@@ -18,11 +18,11 @@
static void pub(const vector<string>& topics){
    ignoref(pub);
    vector<const char*> pubtpc;
    for(auto& t : topics) pubtpc.push_back(t.c_str());
    vector<const char*> tpc;
    for(auto& t : topics) tpc.push_back(t.c_str());
    creg* reg = make_creg(make_cproc("pub", "pubid"),
        NULL, 0, &pubtpc[0], pubtpc.size(), NULL, 0, NULL, 0);
        NULL, 0, &tpc[0], tpc.size(), NULL, 0, NULL, 0);
    void* handle = bus_client_init(NULL, 0, reg);
    creg_free(reg);
@@ -49,11 +49,11 @@
static void sub(const vector<string>& topics){
    ignoref(sub);
    vector<const char*> pubtpc;
    for(auto& t : topics) pubtpc.push_back(t.c_str());
    vector<const char*> tpc;
    for(auto& t : topics) tpc.push_back(t.c_str());
    creg* reg = make_creg(make_cproc("sub", "subid"),
        NULL, 0, NULL, 0, &pubtpc[0], pubtpc.size(), NULL, 0);
        NULL, 0, NULL, 0, &tpc[0], tpc.size(), NULL, 0);
    void* handle = bus_client_init(NULL, 0, reg);
    creg_free(reg);
@@ -70,8 +70,7 @@
    ignoref(req);
    const auto topicl = strlen(topic);
    creg* reg = make_creg(make_cproc("request", "requestid"),
        NULL, 0, NULL, 0, NULL, 0, NULL, 0);
    creg* reg = make_creg_from_cproc(make_cproc("request", "requestid"));
    void* handle = bus_client_init(NULL, 0, reg);
    creg_free(reg);
@@ -96,10 +95,14 @@
    ignoref(reply);
    const auto topicl = strlen(topic);
    vector<const char*> pubtpc{topic};
    vector<const char*> tpc{topic};
    creg* reg = make_creg(make_cproc("reply", "replyid"),
        &pubtpc[0], pubtpc.size(), &pubtpc[0], pubtpc.size(), NULL, 0, NULL, 0);
    // creg* reg = make_creg(make_cproc("reply", "replyid"),
    //     &tpc[0], tpc.size(), &tpc[0], tpc.size(), NULL, 0, NULL, 0);
    creg* reg = make_creg_from_cproc(make_cproc("reply", "replyid"));
    creg_add_topic_reply(reg, tpc.data(), tpc.size());
    creg_add_topic_pub(reg, tpc.data(), tpc.size());
    void* handle = bus_client_init(NULL, 0, reg);
    creg_free(reg);