| 582 | } |
| 583 | |
| 584 | const SessionManager::ObjectParserSlot* SessionManager::findValidParserSlotLocked(ObjectTopicId id) const { |
| 585 | auto it = object_topic_parsers_.find(id.id); |
| 586 | if (it == object_topic_parsers_.end() || it->second.handle == nullptr || !it->second.handle->valid()) { |
| 587 | return nullptr; |
| 588 | } |
| 589 | return &it->second; |
| 590 | } |
| 591 | |
| 592 | SessionManager::ParserBinding SessionManager::parserBindingForObjectTopic(ObjectTopicId id) const { |
| 593 | std::shared_lock lock(object_parsers_mutex_); |