Skip to content
Snippets Groups Projects
Commit a1209536 authored by g0dil's avatar g0dil
Browse files

Added error messages to PPI and Utils SENF_ASSERTs

parent 50a9b729
No related branches found
No related tags found
No related merge requests found
...@@ -41,13 +41,21 @@ ...@@ -41,13 +41,21 @@
prefix_ void senf::ppi::connector::Connector::connect(Connector & target) prefix_ void senf::ppi::connector::Connector::connect(Connector & target)
{ {
// The connector is not registered -> route() or noroute() statement missing // The connector is not registered -> route() or noroute() statement missing
SENF_ASSERT( module_ ); SENF_ASSERT( module_ &&
"senf::ppi::connector::Connector::connect(): (source) "
"Missing route() or noroute()" );
// The connector is already connected // The connector is already connected
SENF_ASSERT( ! peer_ ); SENF_ASSERT( ! peer_ &&
"senf::ppi::connector::Connector::connect(): (source) "
"duplicate connection" );
// The target connector is not registered -> route() or noroute() statement missing // The target connector is not registered -> route() or noroute() statement missing
SENF_ASSERT( target.module_ ); SENF_ASSERT( target.module_ &&
"senf::ppi::connector::Connector::connect(): (target) "
"Missing route() or noroute()" );
// The target connector is already connected // The target connector is already connected
SENF_ASSERT( ! target.peer_ ); SENF_ASSERT( ! target.peer_ &&
"senf::ppi::connector::Connector::connect(): (target) "
"duplicate connection" );
if (! (packetTypeID() == typeid(void) || if (! (packetTypeID() == typeid(void) ||
target.packetTypeID() == typeid(void) || target.packetTypeID() == typeid(void) ||
packetTypeID() == target.packetTypeID()) ) packetTypeID() == target.packetTypeID()) )
...@@ -69,7 +77,8 @@ prefix_ void senf::ppi::connector::Connector::connect(Connector & target) ...@@ -69,7 +77,8 @@ prefix_ void senf::ppi::connector::Connector::connect(Connector & target)
prefix_ void senf::ppi::connector::Connector::disconnect() prefix_ void senf::ppi::connector::Connector::disconnect()
{ {
// Cannot disconnected a non-connected connector // Cannot disconnected a non-connected connector
SENF_ASSERT( peer_ ); SENF_ASSERT( peer_ &&
"senf::ppi::connector::Connector::disconnect(): Not connected" );
Connector & peer (*peer_); Connector & peer (*peer_);
peer_ = 0; peer_ = 0;
peer.peer_ = 0; peer.peer_ = 0;
......
...@@ -37,7 +37,7 @@ prefix_ senf::ppi::connector::Connector & senf::ppi::connector::Connector::peer( ...@@ -37,7 +37,7 @@ prefix_ senf::ppi::connector::Connector & senf::ppi::connector::Connector::peer(
const const
{ {
// The connector is not connected // The connector is not connected
SENF_ASSERT(peer_); SENF_ASSERT(peer_ && "senf::ppi::connect() call missing");
return *peer_; return *peer_;
} }
...@@ -46,7 +46,7 @@ prefix_ senf::ppi::module::Module & senf::ppi::connector::Connector::module() ...@@ -46,7 +46,7 @@ prefix_ senf::ppi::module::Module & senf::ppi::connector::Connector::module()
{ {
// The connector is not registered in the module -> probably a route() or noroute() statement is // The connector is not registered in the module -> probably a route() or noroute() statement is
// missing. // missing.
SENF_ASSERT(module_); SENF_ASSERT(module_ && "Connector not registered: Missing route() or noroute()");
return *module_; return *module_;
} }
...@@ -162,8 +162,8 @@ prefix_ senf::ppi::connector::PassiveConnector::PassiveConnector() ...@@ -162,8 +162,8 @@ prefix_ senf::ppi::connector::PassiveConnector::PassiveConnector()
prefix_ void senf::ppi::connector::PassiveConnector::emit() prefix_ void senf::ppi::connector::PassiveConnector::emit()
{ {
// No event callback has been registered (onEvent() call missing) // No event callback has been registered (onRequest() call missing)
SENF_ASSERT(callback_); SENF_ASSERT(callback_ && "senf::ppi::connector::PassiveConnector: missing onRequest()");
if (!throttled()) if (!throttled())
callback_(); callback_();
} }
...@@ -232,7 +232,8 @@ prefix_ senf::Packet senf::ppi::connector::InputConnector::peek() ...@@ -232,7 +232,8 @@ prefix_ senf::Packet senf::ppi::connector::InputConnector::peek()
const const
{ {
// Cannot peek() head of empty queue // Cannot peek() head of empty queue
SENF_ASSERT( ! queue_.empty() ); SENF_ASSERT( ! queue_.empty() &&
"senf::ppi::connector::InputConnector: cannot call peek() on empty queue" );
return queue_.back(); return queue_.back();
} }
......
...@@ -37,7 +37,9 @@ ...@@ -37,7 +37,9 @@
prefix_ void senf::ppi::module::debug::PassiveSource::request() prefix_ void senf::ppi::module::debug::PassiveSource::request()
{ {
SENF_ASSERT( ! packets_.empty() ); SENF_ASSERT( ! packets_.empty() &&
"senf::ppi::module::debug::PassiveSource::request(): "
"Requesting packet from empty source." );
output(packets_.front()); output(packets_.front());
packets_.pop_front(); packets_.pop_front();
if (packets_.empty()) if (packets_.empty())
......
...@@ -59,7 +59,8 @@ template <class EventType, class Self> ...@@ -59,7 +59,8 @@ template <class EventType, class Self>
prefix_ senf::ppi::detail::EventBinding<EventType> & prefix_ senf::ppi::detail::EventBinding<EventType> &
senf::ppi::EventImplementationHelper<EventType,Self>::binding() senf::ppi::EventImplementationHelper<EventType,Self>::binding()
{ {
SENF_ASSERT( static_cast<Self*>(this)->binding_ ); SENF_ASSERT( static_cast<Self*>(this)->binding_ &&
"senf::ppi::EventImplementationHelper::binding(): Missing registerEvent()" );
return * static_cast<Self*>(this)->binding_; return * static_cast<Self*>(this)->binding_;
} }
...@@ -89,7 +90,8 @@ template <class Self> ...@@ -89,7 +90,8 @@ template <class Self>
prefix_ senf::ppi::detail::EventBinding<void> & prefix_ senf::ppi::detail::EventBinding<void> &
senf::ppi::EventImplementationHelper<void,Self>::binding() senf::ppi::EventImplementationHelper<void,Self>::binding()
{ {
SENF_ASSERT( static_cast<Self*>(this)->binding_ ); SENF_ASSERT( static_cast<Self*>(this)->binding_ &&
"senf::ppi::EventImplementationHelper::binding(): Missing registerEvent()" );
return * static_cast<Self*>(this)->binding_; return * static_cast<Self*>(this)->binding_;
} }
......
...@@ -59,8 +59,7 @@ prefix_ void senf::ppi::IOEvent::cb(int event) ...@@ -59,8 +59,7 @@ prefix_ void senf::ppi::IOEvent::cb(int event)
else if (event & Hup) else if (event & Hup)
throw HangupException(); throw HangupException();
else else
// This cannot happen. SENF_ASSERT(false && "Internal failure in senf::ppi::IOEvent::cb(int)");
SENF_ASSERT(false);
} else { } else {
IOEventInfo info = { event }; IOEventInfo info = { event };
callback(info); callback(info);
......
...@@ -52,7 +52,9 @@ prefix_ void senf::intrusive_refcount_base::add_ref() ...@@ -52,7 +52,9 @@ prefix_ void senf::intrusive_refcount_base::add_ref()
prefix_ bool senf::intrusive_refcount_base::release() prefix_ bool senf::intrusive_refcount_base::release()
{ {
SENF_ASSERT(refcount_>0); SENF_ASSERT(refcount_>0 &&
"senf::intrusive_refcount_base: Internal inconsistency: "
"Calling release on dead object.");
return --refcount_ == 0; return --refcount_ == 0;
} }
......
...@@ -36,7 +36,9 @@ prefix_ void * senf::pool_alloc_mixin<Self>::operator new(size_t size) ...@@ -36,7 +36,9 @@ prefix_ void * senf::pool_alloc_mixin<Self>::operator new(size_t size)
{ {
// When deriving from Self you may not change the class's size without // When deriving from Self you may not change the class's size without
// inheriting from pool_alloc_mixin again. See pool_alloc_mixin documentation. // inheriting from pool_alloc_mixin again. See pool_alloc_mixin documentation.
SENF_ASSERT( size <= sizeof(Self) ); SENF_ASSERT( size <= sizeof(Self) &&
"senf::pool_alloc_mixin::operator new(): "
"Bad object size. Missing pool_alloc_mixin base in derived class?" );
#ifdef SENF_DEBUG #ifdef SENF_DEBUG
allocCounter(1); allocCounter(1);
#endif #endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment