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
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
15 \brief DebugModules inline non-template implementation */
20 #define prefix_ inline
21 //-/////////////////////////////////////////////////////////////////////////////////////////////////
23 //-/////////////////////////////////////////////////////////////////////////////////////////////////
24 // senf::ppi::module::debug::ActiveSource
26 prefix_ senf::ppi::module::debug::ActiveSource::ActiveSource()
31 prefix_ void senf::ppi::module::debug::ActiveSource::submit(Packet const & packet)
36 prefix_ bool senf::ppi::module::debug::ActiveSource::boolean_test()
42 //-/////////////////////////////////////////////////////////////////////////////////////////////////
43 // senf::ppi::module::debug::PassiveSource
45 prefix_ senf::ppi::module::debug::PassiveSource::PassiveSource()
48 output.onRequest(&PassiveSource::request);
51 prefix_ void senf::ppi::module::debug::PassiveSource::throttle()
56 prefix_ void senf::ppi::module::debug::PassiveSource::unthrottle()
61 prefix_ void senf::ppi::module::debug::PassiveSource::submit(Packet const & packet)
63 packets_.push_back(packet);
67 prefix_ bool senf::ppi::module::debug::PassiveSource::empty()
69 return packets_.empty();
72 prefix_ senf::ppi::module::debug::PassiveSource::size_type
73 senf::ppi::module::debug::PassiveSource::size()
75 return packets_.size();
78 //-/////////////////////////////////////////////////////////////////////////////////////////////////
81 prefix_ void senf::ppi::module::debug::PassiveSource::v_init()
87 //-/////////////////////////////////////////////////////////////////////////////////////////////////
88 // senf::ppi::module::debug::ActiveSink
90 prefix_ senf::ppi::module::debug::ActiveSink::ActiveSink()
95 prefix_ senf::Packet senf::ppi::module::debug::ActiveSink::request()
100 prefix_ bool senf::ppi::module::debug::ActiveSink::boolean_test()
106 //-/////////////////////////////////////////////////////////////////////////////////////////////////
107 // senf::ppi::module::debug::PassiveSink
109 prefix_ senf::ppi::module::debug::PassiveSink::PassiveSink()
112 input.onRequest(&PassiveSink::request);
115 prefix_ void senf::ppi::module::debug::PassiveSink::throttle()
120 prefix_ void senf::ppi::module::debug::PassiveSink::unthrottle()
125 prefix_ bool senf::ppi::module::debug::PassiveSink::empty()
127 return packets_.empty();
130 prefix_ senf::ppi::module::debug::PassiveSink::size_type
131 senf::ppi::module::debug::PassiveSink::size()
133 return packets_.size();
136 prefix_ senf::ppi::module::debug::PassiveSink::iterator
137 senf::ppi::module::debug::PassiveSink::begin()
139 return packets_.begin();
142 prefix_ senf::ppi::module::debug::PassiveSink::iterator
143 senf::ppi::module::debug::PassiveSink::end()
145 return packets_.end();
148 prefix_ senf::Packet senf::ppi::module::debug::PassiveSink::front()
153 return packets_.front();
156 prefix_ senf::Packet senf::ppi::module::debug::PassiveSink::pop_front()
160 packets_.pop_front();
164 prefix_ void senf::ppi::module::debug::PassiveSink::clear()
166 packets_.erase(packets_.begin(), packets_.end());
169 //-/////////////////////////////////////////////////////////////////////////////////////////////////
170 // senf::ppi::module::debug::ActiveFeederSource
172 prefix_ senf::ppi::module::debug::ActiveFeederSource::ActiveFeederSource()
173 : output(feeder.output)
175 ppi::connect(source,feeder);
178 prefix_ void senf::ppi::module::debug::ActiveFeederSource::submit(Packet packet)
180 source.submit(packet);
183 prefix_ bool senf::ppi::module::debug::ActiveFeederSource::empty()
185 return source.empty();
188 prefix_ senf::ppi::module::debug::ActiveFeederSource::size_type
189 senf::ppi::module::debug::ActiveFeederSource::size()
191 return source.size();
194 //-/////////////////////////////////////////////////////////////////////////////////////////////////
195 // senf::ppi::module::debug::ActiveFeederSink
197 prefix_ senf::ppi::module::debug::ActiveFeederSink::ActiveFeederSink()
198 : input(feeder.input)
200 ppi::connect(feeder, sink);
203 prefix_ bool senf::ppi::module::debug::ActiveFeederSink::empty()
208 prefix_ senf::ppi::module::debug::ActiveFeederSink::size_type
209 senf::ppi::module::debug::ActiveFeederSink::size()
214 prefix_ senf::ppi::module::debug::ActiveFeederSink::iterator
215 senf::ppi::module::debug::ActiveFeederSink::begin()
220 prefix_ senf::ppi::module::debug::ActiveFeederSink::iterator
221 senf::ppi::module::debug::ActiveFeederSink::end()
226 prefix_ senf::Packet senf::ppi::module::debug::ActiveFeederSink::front()
231 prefix_ senf::Packet senf::ppi::module::debug::ActiveFeederSink::pop_front()
233 return sink.pop_front();
236 prefix_ void senf::ppi::module::debug::ActiveFeederSink::clear()
241 //-/////////////////////////////////////////////////////////////////////////////////////////////////
248 // comment-column: 40
249 // c-file-style: "senf"
250 // indent-tabs-mode: nil
251 // ispell-local-dictionary: "american"
252 // compile-command: "scons -u test"