From af096e401704a8868063ea82d172d07b25828ecb Mon Sep 17 00:00:00 2001
From: g0dil <g0dil@wiback.org>
Date: Tue, 11 Aug 2009 20:07:01 +0000
Subject: [PATCH] PPI: Replace LogSink with Logger monitor module

---
 PPI/DebugModules.cti     | 13 +++++--------
 PPI/DebugModules.hh      | 15 ++++++---------
 PPI/DebugModules.test.cc |  4 ++--
 3 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/PPI/DebugModules.cti b/PPI/DebugModules.cti
index d603cc8ab..f9b90d539 100644
--- a/PPI/DebugModules.cti
+++ b/PPI/DebugModules.cti
@@ -32,22 +32,19 @@
 ///////////////////////////////cti.p///////////////////////////////////////
 
 ///////////////////////////////////////////////////////////////////////////
-// senf::ppi::module::debug::LogSink<Stream,Area,level>
+// senf::ppi::module::debug::Logger<Stream,Area,level>
 
 template <class Stream, class Area, class Level>
-prefix_ senf::ppi::module::debug::LogSink<Stream,Area,Level>::LogSink()
-{
-    noroute(input);
-    input.onRequest(&LogSink::request);
-}
+prefix_ senf::ppi::module::debug::Logger<Stream,Area,Level>::Logger()
+{}
 
 ////////////////////////////////////////
 // private members
 
 template <class Stream, class Area, class Level>
-prefix_ void senf::ppi::module::debug::LogSink<Stream,Area,Level>::request()
+prefix_ void
+senf::ppi::module::debug::Logger<Stream,Area,Level>::v_handlePacket(Packet const & packet)
 {
-    Packet packet (input());
     SENF_LOG_BLOCK_TPL((Stream)(Area)(Level)({
         packet.dump(log);
         hexdump(packet.last().data().begin(), packet.last().data().end(),log);
diff --git a/PPI/DebugModules.hh b/PPI/DebugModules.hh
index 1ea0f2b75..f382dd6bf 100644
--- a/PPI/DebugModules.hh
+++ b/PPI/DebugModules.hh
@@ -30,7 +30,7 @@
 #include <deque>
 #include "../Utils/safe_bool.hh"
 #include "../Packets/Packets.hh"
-#include "Module.hh"
+#include "MonitorModule.hh"
 #include "ActiveFeeder.hh"
 #include "../Utils/Logger/SenfLog.hh"
 
@@ -269,18 +269,15 @@ namespace debug {
     template < class Stream = log::Debug,
                class Area   = log::DefaultArea,
                class Level  = log::VERBOSE >
-    class LogSink
-        : public module::Module
+    class Logger
+        : public MonitorModule<>
     {
-        SENF_PPI_MODULE(LogSink);
+        SENF_PPI_MODULE(Logger);
     public:
-
-        connector::PassiveInput<> input;
-
-        LogSink();
+        Logger();
 
     private:
-        void request();
+        virtual void v_handlePacket(Packet const & packet);
     };
 
 }}}}
diff --git a/PPI/DebugModules.test.cc b/PPI/DebugModules.test.cc
index fa198bd07..76a1d4509 100644
--- a/PPI/DebugModules.test.cc
+++ b/PPI/DebugModules.test.cc
@@ -134,9 +134,9 @@ BOOST_AUTO_UNIT_TEST(logSink)
     logTarget.route<senf::log::Debug,senf::log::VERBOSE>();
 
     debug::ActiveFeederSource source;
-    debug::LogSink<> sink;
+    debug::Logger<> logger;
 
-    ppi::connect(source,sink);
+    ppi::connect(source,logger);
     senf::PacketData::byte data[] = { 0x13u, 0x24u, 0x35u };
     source.submit( senf::DataPacket::create(data) );
     senf::ppi::run();
-- 
GitLab