X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PPI%2FConnectors.cc;h=4c5a3ea3f7cd7e68263035c677371a9553b868ee;hb=b89e3166f7680755683dccee5e48cb3a820185c0;hp=a39857ef5519197bdf5327d08b1483c44f7960e3;hpb=c7ddbbb0bc014bdfe6daef91e2d1c512d77e9fff;p=senf.git diff --git a/PPI/Connectors.cc b/PPI/Connectors.cc index a39857e..4c5a3ea 100644 --- a/PPI/Connectors.cc +++ b/PPI/Connectors.cc @@ -40,7 +40,22 @@ prefix_ void senf::ppi::connector::Connector::connect(Connector & target) { - SENF_ASSERT( module_ && ! peer_ && target.module_ && ! target.peer_ ); + // The connector is not registered -> route() or noroute() statement missing + SENF_ASSERT( module_ && + "senf::ppi::connector::Connector::connect(): (source) " + "Missing route() or noroute()" ); + // The connector is already connected + SENF_ASSERT( ! peer_ && + "senf::ppi::connector::Connector::connect(): (source) " + "duplicate connection" ); + // The target connector is not registered -> route() or noroute() statement missing + SENF_ASSERT( target.module_ && + "senf::ppi::connector::Connector::connect(): (target) " + "Missing route() or noroute()" ); + // The target connector is already connected + SENF_ASSERT( ! target.peer_ && + "senf::ppi::connector::Connector::connect(): (target) " + "duplicate connection" ); if (! (packetTypeID() == typeid(void) || target.packetTypeID() == typeid(void) || packetTypeID() == target.packetTypeID()) ) @@ -61,7 +76,9 @@ prefix_ void senf::ppi::connector::Connector::connect(Connector & target) prefix_ void senf::ppi::connector::Connector::disconnect() { - SENF_ASSERT( peer_ ); + // Cannot disconnected a non-connected connector + SENF_ASSERT( peer_ && + "senf::ppi::connector::Connector::disconnect(): Not connected" ); Connector & peer (*peer_); peer_ = 0; peer.peer_ = 0;