396 {
397 auto topology = service_discovery::TopologyManager::Instance();
398 sleep(sleep_s);
399 std::vector<proto::RoleAttributes> tmpVec;
400 topology->channel_manager()->GetWriters(&tmpVec);
401 std::unordered_map<std::string, std::vector<std::string>> roles_info;
402
403 for (auto& attr : tmpVec) {
404 std::string channel_name = attr.channel_name();
405 std::string msgdata;
406 attr.SerializeToString(&msgdata);
407 roles_info[channel_name].emplace_back(msgdata);
408 }
409
410 tmpVec.clear();
411 topology->channel_manager()->GetReaders(&tmpVec);
412 for (auto& attr : tmpVec) {
413 std::string channel_name = attr.channel_name();
414 std::string msgdata;
415 attr.SerializeToString(&msgdata);
416 roles_info[channel_name].emplace_back(msgdata);
417 }
418 return roles_info;
419 }