Changeset 5883


Ignore:
Timestamp:
Aug 12, 2009, 2:26:32 PM (15 years ago)
Author:
mies
Message:
 
Location:
source/ariba/overlay
Files:
2 edited

Legend:

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

    r5882 r5883  
    360360                if (ld==NULL
    361361                        || !ld->up
     362                        || ld->keepAliveMissed != 0
     363                        || !ld->communicationUp
    362364                        || difftime(route.used, time(NULL)) > 4) {
    363365                        logging_info("Forgetting relay information to node "
     
    398400        LinkID next_link = overlayInterface->getNextLinkId(message->getSourceNode());
    399401        if (next_link == ld->overlayId) return;
    400         ld->setRelaying();
    401402
    402403        // try to find source node
     
    437438                if (route.node == remote ) {
    438439                        LinkDescriptor* ld = getDescriptor( route.link );
    439                         if (ld==NULL || !ld->up) return NULL; else return ld;
     440                        if (ld==NULL || !ld->up) return NULL; else {
     441                                route.used = time(NULL);
     442                                return ld;
     443                        }
    440444                }
    441445        }
  • source/ariba/overlay/modules/chord/Chord.cpp

    r5882 r5883  
    113113        if ( remote == nodeid || link.isUnspecified()) return;
    114114        if ( table->size() == 0 ) return;
     115        ttl = 2;
    115116
    116117        OverlayMsg msg( typeDiscovery );
    117118        msg.setRelayed(true);
    118         Discovery dmsg( Discovery::normal, (uint8_t)2, baseoverlay.getEndpointDescriptor() );
     119        Discovery dmsg( Discovery::normal, (uint8_t)ttl, baseoverlay.getEndpointDescriptor() );
    119120        msg.encapsulate(&dmsg);
    120121
     
    124125
    125126void Chord::discover_neighbors( const LinkID& link ) {
    126         uint8_t ttl = 2;
     127        uint8_t ttl = 1;
    127128        {
    128129                // send predecessor discovery
     
    419420
    420421                // updating neighbors
     422                logging_debug("Discover new ring neighbors");
    421423                for (int i=0; i<table->size(); i++) {
    422424                        LinkID id = (*table)[i]->info;
     
    427429                logging_debug("Sending discovery message to my neighbors and fingers");
    428430                stabilize_finger = ((stabilize_finger+1) % table->get_finger_table_size() );
    429                 const NodeID disc1 = nodeid;
    430                 const NodeID disc2 = table->get_finger_table(stabilize_finger).get_compare().get_center();
    431                 send_discovery_to(disc1);
    432                 if (disc1 != disc2)
    433                         send_discovery_to(disc2);
    434 
     431                const NodeID disc = table->get_finger_table(stabilize_finger).get_compare().get_center();
     432                if (disc != nodeid)
     433                        send_discovery_to(disc);
    435434
    436435                // remove orphan links
Note: See TracChangeset for help on using the changeset viewer.