Ignore:
Timestamp:
Apr 23, 2009, 6:58:34 PM (15 years ago)
Author:
Christoph Mayer
Message:

-fixed all compile errors, but now the overlay functionality is messed up somewhere

File:
1 edited

Legend:

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

    r3055 r3056  
    148148        // inform all registered services of the event
    149149        BOOST_FOREACH( NodeListener* i, nodeListeners ){
    150                 if( ret ) i->onLeaveSuccess( spovnetId );
    151                 else      i->onLeaveFail( spovnetId );
     150                if( ret ) i->onLeaveCompleted( spovnetId );
     151                else      i->onLeaveFailed( spovnetId );
    152152        }
    153153}
     
    178178        overlayInterface->joinOverlay();
    179179        BOOST_FOREACH( NodeListener* i, nodeListeners ){
    180                 i->onJoinSuccess( spovnetId );
     180                i->onJoinCompleted( spovnetId );
    181181        }
    182182
     
    252252
    253253        if( item.interface != NULL )
    254                 item.interface->onLinkDown( spovnetId, nodeId, item.node );
     254                item.interface->onLinkDown( link, item.node );
    255255}
    256256
     
    310310
    311311void BaseOverlay::bind(CommunicationListener* listener, const ServiceID& sid){
    312         logging_debug( "binding communication listener " << listener 
     312        logging_debug( "binding communication listener " << listener
    313313                << " on serviceid " << sid.toString() );
    314314
    315315        if( communicationListeners.contains( sid ) ){
    316                 logging_error( "some listener already registered for service id " 
     316                logging_error( "some listener already registered for service id "
    317317                        << sid.toString() );
    318                 return false;
     318                return;
    319319        }
    320320
    321321        communicationListeners.registerItem( listener, sid );
    322         return true;
    323322}
    324323
    325324void BaseOverlay::unbind(CommunicationListener* listener, const ServiceID& sid){
    326         logging_debug( "unbinding listener " << listener 
     325        logging_debug( "unbinding listener " << listener
    327326                << " from serviceid " << sid.toString() );
    328327
     
    333332
    334333        if( communicationListeners.get(sid) != listener ){
    335                 logging_warn( "listener bound to service id " << sid.toString() 
     334                logging_warn( "listener bound to service id " << sid.toString()
    336335                        << " is different than listener trying to unbind" );
    337336                return;
     
    344343        logging_debug( "binding node listener " << listener );
    345344
    346         NodeListenerVector::iterator i = nodeListeners.find( listener );
     345        NodeListenerVector::iterator i = find( nodeListeners.begin(), nodeListeners.end(), listener );
    347346        if( i != nodeListeners.end() ){
    348347                logging_warn( "node listener " << listener << " is already bound, cannot bind" );
    349348                return;
    350349        }
    351        
     350
    352351        nodeListeners.push_back( listener );
    353352}
     
    356355        logging_debug( "unbinding node listener " << listener );
    357356
    358         NodeListenerVector::iterator i = nodeListeners.find( listener );
     357        NodeListenerVector::iterator i = find( nodeListeners.begin(), nodeListeners.end(), listener );
    359358        if( i == nodeListeners.end() ){
    360359                logging_warn( "node listener " << listener << " is not bound, cannot unbind" );
    361360                return;
    362361        }
    363        
     362
    364363        nodeListeners.erase( i );
    365364}
     
    451450
    452451        if( i->second.interface != NULL )
    453                 i->second.interface->onLinkDown( id, nodeId, i->second.node );
     452                i->second.interface->onLinkDown( id, i->second.node );
    454453
    455454        linkMapping.erase( i );
     
    468467
    469468        if( i->second.interface != NULL )
    470                 i->second.interface->onLinkChanged( id, nodeId, i->second.node );
     469                i->second.interface->onLinkChanged( id, i->second.node );
    471470
    472471        i->second.markused();
     
    485484
    486485        if( i->second.interface != NULL )
    487                 i->second.interface->onLinkFail( id, nodeId, i->second.node );
     486                i->second.interface->onLinkFail( id, i->second.node );
    488487
    489488        i->second.markused();
     
    501500        if( i == linkMapping.end() ) return;
    502501
     502        // TODO: convert QoSParameterSet to the LinkProperties properties
    503503        if( i->second.interface != NULL )
    504                 i->second.interface->onLinkQoSChanged( id, nodeId, i->second.node, qos );
     504                i->second.interface->onLinkQoSChanged( id, i->second.node, LinkProperties::DEFAULT );
    505505
    506506        i->second.markused();
     
    535535
    536536                if( serviceListener != NULL )
    537                         serviceListener->receiveMessage( overlayMsg, link, overlayMsg->getSourceNode() );
     537                        serviceListener->onMessage( overlayMsg, overlayMsg->getSourceNode(), link );
    538538
    539539                return true;
     
    571571                //
    572572
     573                // TODO: here you can implement mechanisms to deny joining of a node
    573574                bool allow = true;
    574 
    575                 BOOST_FOREACH( NodeListener* i, nodeListeners ){
    576                         allow &= i->isJoinAllowed( overlayMsg->getSourceNode(), spovnetId );
    577                 }
    578575
    579576                logging_info( "sending back join reply for spovnet " <<
     
    644641
    645642                        // inform all registered services of the event
    646                         BOOST_FOREACH( NodeListener* i, nodeListeners{
    647                                 i->onJoinFail( spovnetId );
     643                        BOOST_FOREACH( NodeListener* i, nodeListeners ){
     644                                i->onJoinFailed( spovnetId );
    648645                        }
    649646
     
    670667                        // inform all registered services of the event
    671668                        BOOST_FOREACH( NodeListener* i, nodeListeners ){
    672                                 i->onJoinFail( spovnetId );
     669                                i->onJoinFailed( spovnetId );
    673670                        }
    674671
     
    692689                // inform all registered services of the event
    693690                BOOST_FOREACH( NodeListener* i, nodeListeners ){
    694                         i->onJoinSuccess( spovnetId );
     691                        i->onJoinCompleted( spovnetId );
    695692                }
    696693
     
    758755
    759756                i->second.interface = iface;
    760                 iface->onLinkUp( link, nodeId, sourcenode );
     757                iface->onLinkUp( link, sourcenode );
    761758                i->second.markused();
    762759
     
    792789                        // inform all registered services of the event
    793790                        BOOST_FOREACH( NodeListener* i, nodeListeners ){
    794                                 i->onLeaveFail( spovnetId );
     791                                i->onLeaveFailed( spovnetId );
    795792                        }
    796793
     
    802799                        logging_info( "node left " << overlayMsg->getSourceNode() );
    803800
    804                         // inform all registered services of the event
    805                         BOOST_FOREACH( NodeListener* i, nodeListeners ){
    806                                 i->onNodeLeave( overlayMsg->getSourceNode(), spovnetId );
    807                         }
    808801                }
    809802
     
    908901                                << node.toString() );
    909902
    910         BOOST_FOREACH( NodeListener* i, nodeListeners ){
    911                 i->onNodeJoin( node, spovnetId );
    912         }
    913 
    914903        joiningNodes.erase( i );
    915904}
Note: See TracChangeset for help on using the changeset viewer.