An Overlay-based
Virtual Network Substrate
SpoVNet

Ignore:
Timestamp:
Oct 2, 2013, 12:01:09 PM (9 years ago)
Author:
hock@…
Message:

new callbacks in ariba::NodeListener?:

  • onOverlayConnected
  • onOverlayDisconnected
File:
1 edited

Legend:

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

    r12060 r12438  
    795795
    796796BaseOverlay::BaseOverlay() :
    797                         started(false),state(BaseOverlayStateInvalid),
     797                        started(false),
     798                        connected(false),
     799                        state(BaseOverlayStateInvalid),
    798800                        bc(NULL),
    799801                        nodeId(NodeID::UNSPECIFIED), spovnetId(SpoVNetID::UNSPECIFIED),
     
    12451247        }
    12461248       
    1247         // TODO AKTUELL: sequence numbers
     1249        // TODO XXX ----> coordinate with QUIC-efforts !!
     1250        // TODO aktuell: sequence numbers
    12481251        // TODO seqnum on fast path ?
    12491252        ld->last_sent_seqnum.increment();
     
    16201623        // erase mapping
    16211624        eraseDescriptor(ld->overlayId);
     1625   
     1626   
     1627    // notify the application if this is the last link to a different node
     1628    if ( connected )
     1629    {
     1630        bool active_links = false;
     1631       
     1632        // look for links that are still active
     1633        foreach( LinkDescriptor* ld, links )
     1634        {
     1635            if ( isLinkDirectVital(ld) )
     1636            {
     1637                active_links = true;
     1638                break;
     1639            }
     1640        }
     1641
     1642        if ( ! active_links )
     1643        {
     1644            connected = false;
     1645           
     1646            foreach( NodeListener* i, nodeListeners )
     1647                i->onOverlayDisconnected( spovnetId );
     1648        }
     1649    }
     1650
    16221651}
    16231652
     
    20932122        sideport->onLinkUp( ld->overlayId, nodeId, ld->remoteNode, this->spovnetId );
    20942123
     2124   
     2125    // notify the application if this is the first link to a different node
     2126    if ( not connected )
     2127    {
     2128        connected = true;
     2129       
     2130        foreach( NodeListener* i, nodeListeners )
     2131            i->onOverlayConnected( spovnetId );
     2132    }
     2133   
    20952134        return true;
    20962135}
Note: See TracChangeset for help on using the changeset viewer.