MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / processDeferred

Method processDeferred

dds/InfoRepo/FederatorManagerImpl_updates.cpp:774–914  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

772}
773
774void
775ManagerImpl::processDeferred()
776{
777 ACE_GUARD(ACE_Thread_Mutex,
778 guard,
779 this->deferred_lock_);
780
781 {
782 std::list<OwnerUpdate>::iterator current = this->deferredOwnerships_.begin();
783
784 while (current != this->deferredOwnerships_.end()) {
785 if (this->info_->changeOwnership(current->domain,
786 current->participant,
787 current->sender,
788 current->owner)) {
789 if (OpenDDS::DCPS::DCPS_debug_level > 9) {
790 OpenDDS::DCPS::RepoIdConverter converter(current->participant);
791 ACE_DEBUG((LM_DEBUG,
792 ACE_TEXT("(%P|%t) Federator::ManagerImpl::processDeferred( OwnerUpdate): ")
793 ACE_TEXT("repo %d - [ domain %d/ participant %C/ sender %d/ owner %d ]\n"),
794 this->id().id(),
795 current->domain,
796 std::string(converter).c_str(),
797 current->sender,
798 current->owner));
799 }
800
801 current = this->deferredOwnerships_.erase(current);
802
803 } else {
804 ++ current;
805 }
806 }
807 }
808
809 {
810 std::list<TopicUpdate>::iterator current = this->deferredTopics_.begin();
811
812 while (current != this->deferredTopics_.end()) {
813 if (true == this->info_->add_topic(current->id,
814 current->domain,
815 current->participant,
816 current->topic,
817 current->datatype,
818 current->qos)) {
819 if (OpenDDS::DCPS::DCPS_debug_level > 9) {
820 OpenDDS::DCPS::RepoIdConverter part_converter(current->participant);
821 OpenDDS::DCPS::RepoIdConverter topic_converter(current->id);
822 ACE_DEBUG((LM_DEBUG,
823 ACE_TEXT("(%P|%t) Federator::ManagerImpl::processDeferred( TopicUpdate): ")
824 ACE_TEXT("repo %d - [ domain %d/ participant %C/ topic %C ]\n"),
825 this->id().id(),
826 current->domain,
827 std::string(part_converter).c_str(),
828 std::string(topic_converter).c_str()));
829 }
830
831 current = this->deferredTopics_.erase(current);

Callers 1

processCreateMethod · 0.95

Calls 8

changeOwnershipMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
idMethod · 0.45
eraseMethod · 0.45
add_topicMethod · 0.45
add_publicationMethod · 0.45
add_subscriptionMethod · 0.45

Tested by

no test coverage detected