X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FConnectors.cci;h=122e9e0c001a6cad4934706be132bee88b4dd3fe;hb=ee01b9007d97c64d0a34b91a3dc87ad5c5697df5;hp=12c14a11498162609ec02ee60f8de2413866f671;hpb=28e21cc5680c097e7daed8c412ee32cf26a75a60;p=senf.git diff --git a/PPI/Connectors.cci b/PPI/Connectors.cci index 12c14a1..122e9e0 100644 --- a/PPI/Connectors.cci +++ b/PPI/Connectors.cci @@ -36,6 +36,7 @@ prefix_ senf::ppi::connector::Connector & senf::ppi::connector::Connector::peer() const { + // The connector is not connected SENF_ASSERT(peer_); return *peer_; } @@ -43,6 +44,8 @@ prefix_ senf::ppi::connector::Connector & senf::ppi::connector::Connector::peer( prefix_ senf::ppi::module::Module & senf::ppi::connector::Connector::module() const { + // The connector is not registered in the module -> probably a route() or noroute() statement is + // missing. SENF_ASSERT(module_); return *module_; } @@ -56,8 +59,11 @@ prefix_ senf::ppi::connector::Connector::Connector() prefix_ senf::ppi::connector::Connector::~Connector() { - if (connected()) + if (connected()) { + Connector & peer (*peer_); peer_->peer_ = 0; + peer.v_init(); + } } prefix_ bool senf::ppi::connector::Connector::connected() @@ -74,11 +80,6 @@ prefix_ void senf::ppi::connector::Connector::setModule(module::Module & module) module_ = &module; } -prefix_ void senf::ppi::connector::Connector::init() -{ - v_init(); -} - /////////////////////////////////////////////////////////////////////////// // senf::ppi::connector::PassiveConnector @@ -161,6 +162,7 @@ prefix_ senf::ppi::connector::PassiveConnector::PassiveConnector() prefix_ void senf::ppi::connector::PassiveConnector::emit() { + // No event callback has been registered (onEvent() call missing) SENF_ASSERT(callback_); if (!throttled()) callback_(); @@ -229,6 +231,7 @@ senf::ppi::connector::InputConnector::end() prefix_ senf::Packet senf::ppi::connector::InputConnector::peek() const { + // Cannot peek() head of empty queue SENF_ASSERT( ! queue_.empty() ); return queue_.back(); }