// $Id$
//
-// Copyright (C) 2007
-// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
-// Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
+// Copyright (C) 2007
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
\brief DebugModules inline non-template implementation */
// Custom includes
+#include "../Utils/senfassert.hh"
#include "Setup.hh"
#define prefix_ inline
output.onRequest(&PassiveSource::request);
}
+prefix_ void senf::ppi::module::debug::PassiveSource::throttle()
+{
+ output.throttle();
+}
+
+prefix_ void senf::ppi::module::debug::PassiveSource::unthrottle()
+{
+ output.unthrottle();
+}
+
prefix_ void senf::ppi::module::debug::PassiveSource::submit(Packet packet)
{
packets_.push_back(packet);
////////////////////////////////////////
// private members
-prefix_ void senf::ppi::module::debug::PassiveSource::request()
-{
- BOOST_ASSERT( ! packets_.empty() );
- output(packets_.front());
- packets_.pop_front();
- if (packets_.empty())
- output.throttle();
-}
-
-prefix_ void senf::ppi::module::debug::PassiveSource::init()
+prefix_ void senf::ppi::module::debug::PassiveSource::v_init()
{
if (empty())
output.throttle();
input.onRequest(&PassiveSink::request);
}
+prefix_ void senf::ppi::module::debug::PassiveSink::throttle()
+{
+ input.throttle();
+}
+
+prefix_ void senf::ppi::module::debug::PassiveSink::unthrottle()
+{
+ input.unthrottle();
+}
+
prefix_ bool senf::ppi::module::debug::PassiveSink::empty()
{
return packets_.empty();
prefix_ senf::Packet senf::ppi::module::debug::PassiveSink::pop_front()
{
Packet p (front());
- if (p)
+ if (p)
packets_.pop_front();
return p;
}
packets_.erase(packets_.begin(), packets_.end());
}
-////////////////////////////////////////
-// private members
-
-prefix_ void senf::ppi::module::debug::PassiveSink::request()
-{
- packets_.push_back(input());
-}
-
///////////////////////////////////////////////////////////////////////////
// senf::ppi::module::debug::ActiveFeederSource