Ignore:
Timestamp:
Nov 6, 2009, 10:15:13 AM (15 years ago)
Author:
mies
Message:
 
File:
1 edited

Legend:

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

    r6867 r6869  
    523523                } else {
    524524                        logging_warn("Could not send message. No relay hop found to "
    525                                         << destination)
    526                         logging_error("ERROR: " << debugInformation() );
     525                                        << destination << " -- trying to route over overlay paths ...")
     526//                      logging_error("ERROR: " << debugInformation() );
    527527                //                      return -1;
    528528                }
    529529        }
    530530
    531         // routed message
    532         /*else*/ {
    533                 // no-> relay path! route over overlay path
    534                 LinkID next_id = overlayInterface->getNextLinkId( destination );
    535                 if (next_id.isUnspecified()) {
    536                         logging_warn("Could not send message. No next hop found to " <<
    537                                         destination );
    538                         logging_error("ERROR: " << debugInformation() );
    539                         return -1;
    540                 }
    541 
    542                 // get link descriptor, up and running? yes-> send message
    543                 next_link = getDescriptor(next_id);
    544                 if (next_link != NULL && next_link->up) {
    545                         // send message over relayed link
    546                         return send(message, next_link);
    547                 }
    548 
    549                 // no-> error, dropping message
    550                 else {
    551                         logging_warn("Could not send message. Link not known or up");
    552                         logging_error("ERROR: " << debugInformation() );
    553                         return -1;
    554                 }
     531        // last resort -> route over overlay path
     532        LinkID next_id = overlayInterface->getNextLinkId( destination );
     533        if (next_id.isUnspecified()) {
     534                logging_warn("Could not send message. No next hop found to " <<
     535                                destination );
     536                logging_error("ERROR: " << debugInformation() );
     537                return -1;
     538        }
     539
     540        // get link descriptor, up and running? yes-> send message
     541        next_link = getDescriptor(next_id);
     542        if (next_link != NULL && next_link->up) {
     543                // send message over relayed link
     544                return send(message, next_link);
     545        }
     546
     547        // no-> error, dropping message
     548        else {
     549                logging_warn("Could not send message. Link not known or up");
     550                logging_error("ERROR: " << debugInformation() );
     551                return -1;
    555552        }
    556553
     
    982979        OverlayMsg msg(OverlayMsg::typeLinkRequest, service, nodeId, remote );
    983980        msg.setSourceLink(ld->overlayId);
     981
     982        // send over relayed link
     983        msg.setRelayed(true);
    984984        //msg.setRelayed(false);
    985         msg.setRelayed(true);
    986         msg.setRegisterRelay(true);
     985        //msg.setRegisterRelay(true);
    987986
    988987        // debug message
     
    20842083                // re-publish values
    20852084                BOOST_FOREACH( ValueEntry& value, entry.values )
    2086                         dhtPut(entry.key, value.get_value(), 0 );
     2085                        dhtPut(entry.key, value.get_value(), 0, true );
    20872086        }
    20882087}
Note: See TracChangeset for help on using the changeset viewer.