Line data Source code
1 : /*! 2 : * \file 3 : * \brief Class module::Probe_stream. 4 : */ 5 : #ifndef PROBE_STREAM_HPP_ 6 : #define PROBE_STREAM_HPP_ 7 : 8 : #include <cstdint> 9 : #include <string> 10 : #include <typeindex> 11 : #include <vector> 12 : 13 : #include "Module/Stateful/Probe/Probe.hpp" 14 : 15 : namespace spu 16 : { 17 : namespace module 18 : { 19 : class Probe_stream : public Probe<uint8_t> 20 : { 21 : protected: 22 : int64_t occurrences; 23 : 24 : public: 25 : Probe_stream(const std::string& col_name, tools::Reporter_probe* reporter = nullptr); 26 : 27 0 : virtual ~Probe_stream() = default; 28 : 29 : virtual void reset(); 30 : 31 : virtual void register_reporter(tools::Reporter_probe* reporter); 32 : 33 : int64_t get_occurrences() const; 34 : 35 : protected: 36 : virtual void _probe(const uint8_t* in, const size_t frame_id); 37 : }; 38 : } 39 : } 40 : 41 : #endif /* PROBE_STREAM_HPP_ */