// Cannot disconnected a non-connected connector
SENF_ASSERT( peer_ &&
"senf::ppi::connector::Connector::disconnect(): Not connected" );
+
Connector & peer (*peer_);
peer_ = 0;
peer.peer_ = 0;
enqueueInitializable();
if (! peer.initializationScheduled())
peer.enqueueInitializable();
+
+ v_disconnected();
+ peer.v_disconnected();
}
prefix_ std::type_info const & senf::ppi::connector::Connector::packetTypeID()
return typeid(void);
}
+prefix_ void senf::ppi::connector::Connector::v_disconnected()
+ const
+{}
+
///////////////////////////////////////////////////////////////////////////
// senf::ppi::connector::PassiveConnector
notifyRoutes_.push_back(&route);
}
+prefix_ void senf::ppi::connector::ActiveConnector::unregisterRoute(ForwardingRoute & route)
+{
+ NotifyRoutes::iterator i (std::find(notifyRoutes_.begin(), notifyRoutes_.end(), &route));
+ if (i != notifyRoutes_.end())
+ notifyRoutes_.erase(i);
+}
+
///////////////////////////////////////////////////////////////////////////
// senf::ppi::connector::InputConnector