Ignore:
Timestamp:
May 26, 2009, 8:03:39 PM (15 years ago)
Author:
Christoph Mayer
Message:

-autolink message buffer von basecomm nach baseoverlay und komplette logik hochgezogen damit mit neuem overlay routing zurecht kommt, damit ist letzer fehler raus

File:
1 edited

Legend:

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

    r3690 r3712  
    4646#include <list>
    4747#include <vector>
     48#include <deque>
    4849#include <boost/foreach.hpp>
    4950
     
    8081using std::pair;
    8182using std::find;
     83using std::deque;
    8284
    8385using ariba::NodeListener;
     
    420422
    421423                LinkItem() :
    422                         link(LinkID::UNSPECIFIED), node(NodeID::UNSPECIFIED), service(
    423                                         ServiceID::UNSPECIFIED), interface(
    424                                         &CommunicationListener::DEFAULT), autolink(false), lastuse(
    425                                         0) {
     424                        link(LinkID::UNSPECIFIED),
     425                        node(NodeID::UNSPECIFIED),
     426                        service(ServiceID::UNSPECIFIED),
     427                        interface(&CommunicationListener::DEFAULT),
     428                        autolink(false),
     429                        lastuse(0),
     430                        linkup(false){
    426431                }
    427432
    428433                LinkItem(const LinkID& _link, const NodeID& _node,
    429434                                const ServiceID& _service, CommunicationListener* _interface) :
    430                         link(_link), node(_node), service(_service), interface(_interface),
    431                                         autolink(false), lastuse(time(NULL)) {
     435                        link(_link),
     436                        node(_node),
     437                        service(_service),
     438                        interface(_interface),
     439                        autolink(false),
     440                        lastuse(time(NULL)),
     441                        linkup(false){
    432442
    433443                        assert( _interface != NULL );
    434444                }
    435445
     446                LinkItem(const LinkItem& rh) :
     447                        link(rh.link),
     448                        node(rh.node),
     449                        service(rh.service),
     450                        interface(rh.interface),
     451                        autolink(rh.autolink),
     452                        lastuse(rh.lastuse),
     453                        linkup(rh.linkup){
     454
     455                        BOOST_FOREACH( Message* msg, rh.waitingmsg ){
     456                                waitingmsg.push_back( msg );
     457                        }
     458                }
     459
     460                void deleteWaiting(){
     461                        BOOST_FOREACH( Message* msg, waitingmsg ){
     462                                delete msg;
     463                        }
     464                        waitingmsg.clear();
     465                }
     466
    436467                // general information about the link
    437 
    438468                const LinkID link;
    439469                NodeID node;
    440470                ServiceID service;
    441471                CommunicationListener* interface;
     472                bool linkup;
    442473
    443474                // information needed for auto links
     
    448479                bool autolink;
    449480                time_t lastuse;
     481                deque<Message*> waitingmsg;
    450482        };
    451483
     
    467499};
    468500
    469 }
    470 } // namespace ariba, overlay
     501}} // namespace ariba, overlay
    471502
    472503#endif /*BASEOVERLAY_H_*/
Note: See TracChangeset for help on using the changeset viewer.