X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPPI%2FConnectors.cci;h=d3244925f8f6eea91c86ef15549c77fe0513f4c2;hb=78a6e233083efa63a9cd0684a92abc64202a9ee7;hp=16948c034a047a2ec1514d92210cf1a9c9de0b5e;hpb=32bf29e751e6c73ca2bc78c21996e4320e934673;p=senf.git diff --git a/senf/PPI/Connectors.cci b/senf/PPI/Connectors.cci index 16948c0..d324492 100644 --- a/senf/PPI/Connectors.cci +++ b/senf/PPI/Connectors.cci @@ -76,44 +76,20 @@ prefix_ senf::ppi::connector::Connector::Connector() : peer_(), module_() {} -prefix_ senf::ppi::connector::Connector::~Connector() -{ - if (connected()) { - Connector & peer (*peer_); - peer_->peer_ = 0; - if (! peer.initializationScheduled()) - peer.enqueueInitializable(); - peer.v_disconnected(); - } -} - prefix_ bool senf::ppi::connector::Connector::connected() const { return peer_; } -prefix_ void senf::ppi::connector::Connector::unregisterConnector() -{ - if (module_) - module_->unregisterConnector(*this); -} - -//////////////////////////////////////// -// private members - -prefix_ void senf::ppi::connector::Connector::setModule(module::Module & module) -{ - module_ = &module; -} - /////////////////////////////////////////////////////////////////////////// // senf::ppi::connector::PassiveConnector prefix_ senf::ppi::connector::ActiveConnector & senf::ppi::connector::PassiveConnector::peer() const { - return dynamic_cast(Connector::peer()); + SENF_ASSERT(peer_, "senf::ppi::connect() call missing"); + return *peer_; } prefix_ bool senf::ppi::connector::PassiveConnector::throttled() @@ -151,18 +127,6 @@ prefix_ void senf::ppi::connector::PassiveConnector::notifyThrottle() remoteThrottled_ = true; } -prefix_ void senf::ppi::connector::PassiveConnector::registerRoute(ForwardingRoute & route) -{ - routes_.push_back(&route); -} - -prefix_ void senf::ppi::connector::PassiveConnector::unregisterRoute(ForwardingRoute & route) -{ - Routes::iterator i (std::find(routes_.begin(), routes_.end(), &route)); - if (i != routes_.end()) - routes_.erase(i); -} - // public members prefix_ bool senf::ppi::connector::PassiveConnector::nativeThrottled() @@ -214,7 +178,8 @@ prefix_ void senf::ppi::connector::PassiveConnector::emit() prefix_ senf::ppi::connector::PassiveConnector & senf::ppi::connector::ActiveConnector::peer() const { - return dynamic_cast(Connector::peer()); + SENF_ASSERT(peer_, "senf::ppi::connect() call missing"); + return *peer_; } prefix_ void senf::ppi::connector::ActiveConnector::onThrottle() @@ -251,7 +216,8 @@ prefix_ senf::Packet senf::ppi::connector::InputConnector::read() prefix_ senf::ppi::connector::OutputConnector & senf::ppi::connector::InputConnector::peer() const { - return dynamic_cast(Connector::peer()); + SENF_ASSERT(peer_, "senf::ppi::connect() call missing"); + return *peer_; } prefix_ senf::ppi::connector::InputConnector::queue_iterator @@ -311,7 +277,8 @@ prefix_ void senf::ppi::connector::InputConnector::enqueue(Packet const & p) prefix_ senf::ppi::connector::InputConnector & senf::ppi::connector::OutputConnector::peer() const { - return dynamic_cast(Connector::peer()); + SENF_ASSERT(peer_, "senf::ppi::connect() call missing"); + return *peer_; } prefix_ void senf::ppi::connector::OutputConnector::operator()(Packet const & p) @@ -342,7 +309,8 @@ prefix_ senf::ppi::connector::GenericPassiveInput::GenericPassiveInput() prefix_ senf::ppi::connector::GenericActiveOutput & senf::ppi::connector::GenericPassiveInput::peer() const { - return dynamic_cast(Connector::peer()); + SENF_ASSERT(peer_, "senf::ppi::connect() call missing"); + return *peer_; } prefix_ bool senf::ppi::connector::GenericPassiveInput::boolean_test() @@ -357,7 +325,8 @@ prefix_ bool senf::ppi::connector::GenericPassiveInput::boolean_test() prefix_ senf::ppi::connector::GenericActiveInput & senf::ppi::connector::GenericPassiveOutput::peer() const { - return dynamic_cast(Connector::peer()); + SENF_ASSERT(peer_, "senf::ppi::connect() call missing"); + return *peer_; } prefix_ bool senf::ppi::connector::GenericPassiveOutput::boolean_test() @@ -380,7 +349,8 @@ prefix_ senf::ppi::connector::GenericPassiveOutput::GenericPassiveOutput() prefix_ senf::ppi::connector::GenericPassiveOutput & senf::ppi::connector::GenericActiveInput::peer() const { - return dynamic_cast(Connector::peer()); + SENF_ASSERT(peer_, "senf::ppi::connect() call missing"); + return *peer_; } prefix_ bool senf::ppi::connector::GenericActiveInput::boolean_test() @@ -404,7 +374,8 @@ prefix_ senf::ppi::connector::GenericActiveInput::GenericActiveInput() prefix_ senf::ppi::connector::GenericPassiveInput & senf::ppi::connector::GenericActiveOutput::peer() const { - return dynamic_cast(Connector::peer()); + SENF_ASSERT(peer_, "senf::ppi::connect() call missing"); + return *peer_; } prefix_ bool senf::ppi::connector::GenericActiveOutput::boolean_test()