void SubscriberImpl::stopDelivery(const std::string& topic, const std::string& subscriberId) { TopicSubscriber t(topic, subscriberId); boost::shared_lock<boost::shared_mutex> lock(topicsubscriber2handler_lock); SubscriberClientChannelHandlerPtr handler = topicsubscriber2handler[t]; if (handler.get() == 0) { LOG4CXX_ERROR(logger, "Trying to start deliver on a non existant handler topic = " << topic << ", subscriber = " << subscriberId); } handler->stopDelivery(); }
void SubscriberImpl::stopDelivery(const std::string& topic, const std::string& subscriberId) { TopicSubscriber t(topic, subscriberId); // Get the subscriber channel handler SubscriberClientChannelHandlerPtr handler = channelManager->getSubscriptionChannelHandler(t); if (handler.get() == 0) { LOG4CXX_ERROR(logger, "Trying to stop deliver on a non existant handler topic = " << topic << ", subscriber = " << subscriberId); throw NotSubscribedException(); } handler->stopDelivery(t); }