Changeset 6872 for source/ariba/overlay


Ignore:
Timestamp:
Nov 6, 2009, 11:02:41 AM (15 years ago)
Author:
Christoph Mayer
Message:

-visual fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/ariba/overlay/BaseOverlay.cpp

    r6869 r6872  
    20492049
    20502050        // which links are old and need deletion?
    2051         BOOST_FOREACH(NodeID n, linkset){
    2052                 if(remotenodes.find(n) == remotenodes.end()){
    2053                         visual.visDisconnect(visualIdBase, this->nodeId, n, "");
    2054                         linkset.erase(n);
    2055                 }
    2056         }
     2051        bool changed = false;
     2052
     2053        do{
     2054                changed = false;
     2055                BOOST_FOREACH(NodeID n, linkset){
     2056                        if(remotenodes.find(n) == remotenodes.end()){
     2057                                visual.visDisconnect(visualIdBase, this->nodeId, n, "");
     2058                                linkset.erase(n);
     2059                                changed = true;
     2060                                break;
     2061                        }
     2062                }
     2063        }while(changed);
    20572064
    20582065        // which links are new and need creation?
    2059         BOOST_FOREACH(NodeID n, remotenodes){
    2060                 if(linkset.find(n) == linkset.end()){
    2061                         visual.visConnect(visualIdBase, this->nodeId, n, "");
    2062                         linkset.insert(n);
    2063                 }
    2064         }
     2066        do{
     2067                changed = false;
     2068                BOOST_FOREACH(NodeID n, remotenodes){
     2069                        if(linkset.find(n) == linkset.end()){
     2070                                visual.visConnect(visualIdBase, this->nodeId, n, "");
     2071                                linkset.insert(n);
     2072                                changed = true;
     2073                                break;
     2074                        }
     2075                }
     2076        }while(changed);
    20652077
    20662078}
Note: See TracChangeset for help on using the changeset viewer.