RateFilter.cc
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 Fraunhofer Institute for Applied Information Technology (FIT)
3 // Network Research Group (NET)
4 // Schloss Birlinghoven, 53754 Sankt Augustin, GERMANY
5 // Contact: support@wiback.org
6 //
7 // This file is part of the SENF code tree.
8 // It is licensed under the 3-clause BSD License (aka New BSD License).
9 // See LICENSE.txt in the top level directory for details or visit
10 // https://opensource.org/licenses/BSD-3-Clause
11 //
12 
13 
17 #include "RateFilter.hh"
18 //#include "RateFilter.ih"
19 
20 // Custom includes
21 
22 //#include "RateFilter.mpp"
23 #define prefix_
24 //-/////////////////////////////////////////////////////////////////////////////////////////////////
25 
27  : timer_(interval)
28 {
29  route(input, timer_);
30  route(timer_, output);
31  registerEvent(timer_, &RateFilter::timeout);
32 }
33 
34 prefix_ void senf::ppi::module::RateFilter::timeout()
35 {
36  output(input());
37 }
38 
40  const
41 {
42  return timer_.interval().first;
43 }
44 
46 {
47  timer_.interval(interval);
48 }
49 
50 
51 //-/////////////////////////////////////////////////////////////////////////////////////////////////
52 #undef prefix_
53 //#include "RateFilter.mpp"
54 
55 
56 // Local Variables:
57 // mode: c++
58 // fill-column: 100
59 // comment-column: 40
60 // c-file-style: "senf"
61 // indent-tabs-mode: nil
62 // ispell-local-dictionary: "american"
63 // compile-command: "scons -u test"
64 // End:
config::time_type clock_type
void interval(ClockService::clock_type interval, unsigned eventsPerInterval=1)
RateFilter public header.
Route< connector::InputConnector, connector::OutputConnector > & route(connector::InputConnector &input, connector::OutputConnector &output)
Define flow information.
Definition: Module.cc:39
ClockService::clock_type interval() const
Definition: RateFilter.cc:39
connector::ActiveInput input
Definition: RateFilter.hh:42
void registerEvent(EventDescriptor &descriptor, Target target)
Register an external event.
RateFilter(ClockService::clock_type interval)
Definition: RateFilter.cc:26
#define prefix_
Definition: RateFilter.cc:23
connector::ActiveOutput output
Definition: RateFilter.hh:43