// protected members
template <class T>
+prefix_ void senf::ppi::ForwardingRoute::registerRoute(T & ob)
+{
+ ob.registerRoute(*this);
+}
+
+template <class T>
prefix_ void senf::ppi::ForwardingRoute::notifyThrottle(T & ob)
{
ob.notifyThrottle();
template <class Source, class Target, class Base>
prefix_ Source & senf::ppi::detail::BaseRouteImplementation<Source,Target,Base>::source()
+ const
{
return *source_;
}
template <class Source, class Target, class Base>
prefix_ Target & senf::ppi::detail::BaseRouteImplementation<Source,Target,Base>::target()
+ const
{
return *target_;
}
ForwardingRouteImplementation(module::Module & module, Source & source, Target & target)
: Base(module,source,target)
{
- registerRoute(source, boost::mpl::bool_<RoutingTraits<Source>::notifySource>());
- registerRoute(target, boost::mpl::bool_<RoutingTraits<Target>::notifySource>());
+ registerRoute(source);
+ registerRoute(target);
}
////////////////////////////////////////
template <class Source, class Target>
template <class T>
prefix_ void senf::ppi::detail::ForwardingRouteImplementation<Source,Target>::
-registerRoute(T & ob, boost::mpl::bool_<true> const &)
+notifyThrottle(T & ob, boost::mpl::bool_<true> const &)
{
- ForwardingRoute::registerRoute(ob);
+ ForwardingRoute::notifyThrottle(ob);
}
template <class Source, class Target>
template <class T>
prefix_ void senf::ppi::detail::ForwardingRouteImplementation<Source,Target>::
-registerRoute(T & ob, boost::mpl::bool_<false> const &)
+notifyThrottle(T & ob, boost::mpl::bool_<false> const &)
{}
template <class Source, class Target>
template <class T>
prefix_ void senf::ppi::detail::ForwardingRouteImplementation<Source,Target>::
-notifyThrottle(T & ob, boost::mpl::bool_<true> const &)
+notifyUnthrottle(T & ob, boost::mpl::bool_<true> const &)
{
- ForwardingRoute::notifyThrottle(ob);
+ ForwardingRoute::notifyUnthrottle(ob);
}
template <class Source, class Target>
template <class T>
prefix_ void senf::ppi::detail::ForwardingRouteImplementation<Source,Target>::
-notifyThrottle(T & ob, boost::mpl::bool_<false> const &)
+notifyUnthrottle(T & ob, boost::mpl::bool_<false> const &)
{}
template <class Source, class Target>
template <class T>
-prefix_ void senf::ppi::detail::ForwardingRouteImplementation<Source,Target>::
-notifyUnthrottle(T & ob, boost::mpl::bool_<true> const &)
+prefix_ bool senf::ppi::detail::ForwardingRouteImplementation<Source,Target>::
+throttled(T & ob, boost::mpl::bool_<true> const &)
+ const
{
- ForwardingRoute::notifyUnthrottle(ob);
+ return ob.throttled();
}
template <class Source, class Target>
template <class T>
-prefix_ void senf::ppi::detail::ForwardingRouteImplementation<Source,Target>::
-notifyUnthrottle(T & ob, boost::mpl::bool_<false> const &)
-{}
+prefix_ bool senf::ppi::detail::ForwardingRouteImplementation<Source,Target>::
+throttled(T & ob, boost::mpl::bool_<false> const &)
+ const
+{
+ return false;
+}
///////////////////////////////////////////////////////////////////////////
// senf::ppi::detail::RouteImplementation2<Source,Target>