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

Method getParticipantNode

tools/monitor/MonitorDataStorage.cpp:267–298  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

265}
266
267Monitor::TreeNode*
268Monitor::MonitorDataStorage::getParticipantNode(
269 const ProcessKey& pid,
270 const OpenDDS::DCPS::GUID_t& id,
271 bool& create
272)
273{
274 TreeNode* node = 0;
275 GuidToTreeMap::iterator location = this->guidToTreeMap_.find( id);
276 if( location == this->guidToTreeMap_.end()) {
277 // We are done if not creating a new node.
278 if( !create) return 0;
279
280 // We need to add a new DomainParticipant.
281 node = this->createParticipantNode( pid, id, create);
282
283 } else {
284 node = location->second.second;
285 create = false;
286 }
287
288 // If there have been some out-of-order reports, we may have been
289 // created without a parent node. We can now fill in that information
290 // if we can. If we created the node, we already know it has a
291 // parent so this will be bypassed.
292 if( !node->parent()) {
293 create = true;
294 node->parent() = this->getProcessNode( pid, create);
295 }
296
297 return node;
298}
299
300Monitor::TreeNode*
301Monitor::MonitorDataStorage::getInstanceNode(

Callers

nothing calls this directly

Calls 5

createParticipantNodeMethod · 0.95
getProcessNodeMethod · 0.95
findMethod · 0.45
endMethod · 0.45
parentMethod · 0.45

Tested by

no test coverage detected