Ignore:
Timestamp:
Aug 12, 2009, 2:52:12 PM (15 years ago)
Author:
mies
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • source/ariba/overlay/modules/chord/Chord.cpp

    r5883 r5884  
    249249                        baseoverlay.dropLink(item->info);
    250250                item->info = lnk;
     251
    251252                // discover neighbors of new overlay neighbor
    252                 discover_neighbors( lnk );
    253253                showLinks();
    254254        } else { // no-> add orphan entry to routing table
    255255                logging_info("new orphan: " << remote.toString()
    256256                                << " with link " << lnk.toString());
    257                 table->insert_orphan(remote)->info = lnk;
     257                item = table->insert_orphan(remote);
     258
     259                // replace with new link
     260                if (!item->info.isUnspecified() || item->info!=lnk)
     261                        baseoverlay.dropLink(item->info);
     262                item->info = lnk;
    258263        }
    259264
     
    373378                                        item = table->get(*table->get_predesessor());
    374379                        }
    375                         if (item == NULL) break;
     380                        if (item == NULL)
     381                                break;
     382
    376383                        logging_debug("Routing discovery message to succ/pred "
    377384                                << item->id.toString() );
Note: See TracChangeset for help on using the changeset viewer.