| 519 | } |
| 520 | |
| 521 | void Server::ListChannelSubscribeNum(const std::vector<std::string> &channels, |
| 522 | std::vector<ChannelSubscribeNum> *channel_subscribe_nums) { |
| 523 | std::lock_guard<std::mutex> guard(pubsub_channels_mu_); |
| 524 | |
| 525 | for (const auto &chan : channels) { |
| 526 | if (auto iter = pubsub_channels_.find(chan); iter != pubsub_channels_.end()) { |
| 527 | channel_subscribe_nums->emplace_back(ChannelSubscribeNum{iter->first, iter->second.size()}); |
| 528 | } else { |
| 529 | channel_subscribe_nums->emplace_back(ChannelSubscribeNum{chan, 0}); |
| 530 | } |
| 531 | } |
| 532 | } |
| 533 | |
| 534 | void Server::PSubscribeChannel(const std::string &pattern, redis::Connection *conn) { |
| 535 | std::lock_guard<std::mutex> guard(pubsub_channels_mu_); |