Changeset 5776


Ignore:
Timestamp:
Aug 7, 2009, 12:55:13 PM (15 years ago)
Author:
mies
Message:
 
Location:
source/ariba/overlay
Files:
3 edited

Legend:

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

    r5760 r5776  
    13941394                        RelayMessage* relayMsg = overlayMsg->decapsulate<RelayMessage>();
    13951395
     1396                        // mark incoming link as relay
     1397                        if (ld!=NULL) ld->markAsRelay();
     1398
     1399                        // am I the destination of this message? yes->
     1400                        if (relayMsg->getDestNode() == nodeId ) {
     1401                                // deliver relay message locally!
     1402                                logging_debug("Relay message reached destination. Handling the message.");
     1403                                handleMessage( relayMsg, relayMsg->getDestLink(), LinkID::UNSPECIFIED, remoteNode );
     1404                                ret = true;
     1405                                break;
     1406                        }
     1407
    13961408                        // is relay message informative?
    13971409                        switch (relayMsg->getType()) {
     
    14021414                                                        << " relay " << relayMsg->getRelayNode()
    14031415                                                        << " destination " << relayMsg->getDestNode() );
    1404 
    1405                                         // mark incoming link as relay
    1406                                         if (ld!=NULL) ld->markAsRelay();
    1407 
    1408                                         // am I the destination of this message? yes->
    1409                                         if (relayMsg->getDestNode() == nodeId ) {
    1410                                                 // deliver relay message locally!
    1411                                                 logging_debug("Relay message reached destination. Handling the message.");
    1412                                                 handleMessage( relayMsg, relayMsg->getDestLink(), LinkID::UNSPECIFIED, remoteNode );
    1413                                                 ret = true;
    1414                                                 break;
    1415                                         }
    14161416
    14171417                                        // create route message
     
    14261426                                        } else {
    14271427                                                logging_info("Routing relay message to " << relayMsg->getRelayNode().toString() );
    1428                                                 sendOverlay( &_overMsg, relayMsg->getRelayNode() );
     1428//                                              sendOverlay( &_overMsg, relayMsg->getRelayNode() );
     1429                                                sendOverlay( &_overMsg, relayMsg->getDestNode() );
    14291430                                        }
    14301431                                        ret = true;
     
    14371438                                                        << " relay " << relayMsg->getRelayNode()
    14381439                                                        << " destination " << relayMsg->getDestNode() );
    1439 
    1440                                         // mark incoming link as relay
    1441                                         if (ld!=NULL) ld->markAsRelay();
    1442 
    1443                                         // am I the destination of this message? yes->
    1444                                         if (relayMsg->getDestNode() == nodeId ) {
    1445                                                 // deliver relay message locally!
    1446                                                 logging_debug("Relay message reached destination. Handling the message.");
    1447                                                 handleMessage( relayMsg, relayMsg->getDestLink(), LinkID::UNSPECIFIED, remoteNode );
    1448                                                 ret = true;
    1449                                                 break;
    1450                                         }
    14511440
    14521441                                        // am I the relay for this message? yes->
  • source/ariba/overlay/modules/chord/Chord.cpp

    r5761 r5776  
    9292
    9393        // establish link via base overlay
    94         return baseoverlay.establishLink(endp, node, OverlayInterface::OVERLAY_SERVICE_ID, remoteRelay );
     94        return baseoverlay.establishLink(endp, node, OverlayInterface::OVERLAY_SERVICE_ID,
     95                        NodeID::UNSPECIFIED );
    9596}
    9697
     
    377378                                        logging_debug("Discovery split: routing discovery message to successor "
    378379                                                        << succ_item->id.toString() );
     380                                        cmsg_s.setDestination(succ_item->id);
    379381                                        send(&cmsg_s, succ_item->info);
    380382                                }
     
    390392                                        logging_debug("Discovery split: routing discovery message to predecessor "
    391393                                                        << pred_item->id.toString() );
     394                                        cmsg_p.setDestination(pred_item->id);
    392395                                        send(&cmsg_p, pred_item->info);
    393396                                }
     
    484487                orphan_removal_counter++;
    485488                if (orphan_removal_counter <0 || orphan_removal_counter >= 4) {
    486                         back_routes.clear();
     489                        for (vector<back_route>::iterator i = back_routes.begin();
     490                                        i!=back_routes.end(); i++) {
     491                                back_route& br = *i;
     492                                if (difftime(br.lastseen,time(NULL))>5) i =
     493                                                back_routes.erase(i);
     494                        }
    487495                        logging_info("Running orphan removal");
    488496                        orphan_removal_counter = 0;
  • source/ariba/overlay/modules/chord/messages/ChordMessage.h

    r4625 r5776  
    8888        }
    8989
     90        void setSource(const NodeID& source ) {
     91                this->source = source;
     92        }
     93
    9094        const NodeID& getSource() const {
    9195                return source;
     96        }
     97
     98        void setDestination(const NodeID& destination ) {
     99                this->destination = destination;
    92100        }
    93101
Note: See TracChangeset for help on using the changeset viewer.