Changeset 5893 for source/ariba/overlay


Ignore:
Timestamp:
Aug 12, 2009, 4:08:05 PM (15 years ago)
Author:
mies
Message:
 
File:
1 edited

Legend:

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

    r5885 r5893  
    300300/// send a message using a link descriptor, delivers it to the base overlay class
    301301seqnum_t BaseOverlay::send( OverlayMsg* message, LinkDescriptor* ld, bool ignore_down ) {
    302         assert(ld!=NULL);
     302        // check if null
     303        if (ld == NULL) {
     304                logging_error("Can not send message to " << message->getDestinationAddress());
     305                return -1;
     306        }
    303307
    304308        // check if up
     
    313317                        << ld->remoteNode);
    314318                ld = getRelayLinkTo( ld->remoteNode );
     319                if (ld==NULL) {
     320                        LinkID lnk = overlayInterface->getNextLinkId(ld->remoteNode);
     321                        if (!lnk.isUnspecified())
     322                                ld = getDescriptor(lnk);
     323                        if (ld!=NULL && ld->relayed)
     324                                ld = NULL;
     325                }
    315326                if (ld==NULL) {
    316327                        logging_error("Direct link not found.");
Note: See TracChangeset for help on using the changeset viewer.