Reorganize examples
[senf.git] / Examples / RateStuffer / ratestuffer.cc
index ea29427..7c1d1c7 100644 (file)
@@ -46,53 +46,73 @@ namespace module = senf::ppi::module;
 namespace connector = senf::ppi::connector;
 namespace ppi = senf::ppi;
 
-namespace {
-
-    class RateFilter
-        : public module::Module
-    {
-        SENF_PPI_MODULE(RateFilter);
-    public:
-
-        connector::ActiveInput input;
-        connector::ActiveOutput output;
-
-        RateFilter(senf::ClockService::clock_type interval) : timer(interval) {
-            route(input,output);
-            route(input,timer);
-            registerEvent(&RateFilter::timeout, timer);
-        }
-
-    private:
-        void timeout() {
-            output(input());
-        }
-
-        ppi::IntervalTimer timer;
-    };
-
-    class CopyPacketGenerator
-        : public module::Module
-    {
-        SENF_PPI_MODULE(CopyPacketGenerator);
-    public:
-
-        connector::PassiveOutput output;
-
-        CopyPacketGenerator(senf::Packet p) : packet(p) {
-            noroute(output);
-            output.onRequest(&CopyPacketGenerator::request);
-        }
-
-    private:
-        void request() {
-            output(packet);
-        }
-
-        senf::Packet packet;
-    };
+// ////////////////////////////////////////////////////////////////////////
+// RateFilter
+
+class RateFilter
+    : public module::Module
+{
+    SENF_PPI_MODULE(RateFilter);
+public:
+
+    connector::ActiveInput input;
+    connector::ActiveOutput output;
+
+    RateFilter(senf::ClockService::clock_type interval);
+
+private:
+    void timeout();
+
+    ppi::IntervalTimer timer;
+};
+
+RateFilter::RateFilter(senf::ClockService::clock_type interval)
+    : timer(interval) 
+{
+    route(input,timer);
+    route(timer,output);
+    registerEvent(&RateFilter::timeout, timer);
+}
+
+void RateFilter::timeout()
+{
+    output(input());
 }
 
+// ////////////////////////////////////////////////////////////////////////
+// CopyPacketGenerator
+
+class CopyPacketGenerator
+    : public module::Module
+{
+    SENF_PPI_MODULE(CopyPacketGenerator);
+public:
+
+    connector::PassiveOutput output;
+
+    CopyPacketGenerator(senf::Packet p);
+
+private:
+    void request();
+
+    senf::Packet packet;
+};
+
+CopyPacketGenerator::CopyPacketGenerator(senf::Packet p)
+    : packet(p) 
+{
+    noroute(output);
+    output.onRequest(&CopyPacketGenerator::request);
+}
+
+void CopyPacketGenerator::request()
+{
+    output(packet);
+}
+
+// ////////////////////////////////////////////////////////////////////////
+// ////////////////////////////////////////////////////////////////////////
+
 // Module setup:
 //
 // 'O'        = active connector