Psyllid  v1.12.4
Project 8 Data Acquisisition Software
tf_roach_monitor.hh
Go to the documentation of this file.
1 /*
2  * tf_roach_monitor.hh
3  *
4  * Created on: Sept 23, 2016
5  * Author: nsoblath
6  */
7 
8 #ifndef PSYLLID_TF_ROACH_MONITOR_HH_
9 #define PSYLLID_TF_ROACH_MONITOR_HH_
10 
11 #include "freq_data.hh"
12 #include "node_builder.hh"
13 #include "time_data.hh"
14 
15 #include "consumer.hh"
16 
17 namespace psyllid
18 {
19 
42  public midge::_consumer< midge::type_list< time_data > >
43  {
44  public:
46  virtual ~roach_time_monitor();
47 
48  public:
49 
50  public:
51  virtual void initialize();
52  virtual void execute( midge::diptera* a_midge = nullptr );
53  virtual void finalize();
54 
55  private:
57  uint64_t f_packet_count;
59 
60  };
61 
62 
63  class roach_time_monitor_binding : public _node_binding< roach_time_monitor, roach_time_monitor_binding >
64  {
65  public:
67  virtual ~roach_time_monitor_binding();
68 
69  private:
70  virtual void do_apply_config( roach_time_monitor* a_node, const scarab::param_node& a_config ) const;
71  virtual void do_dump_config( const roach_time_monitor* a_node, scarab::param_node& a_config ) const;
72  };
73 
96  public midge::_consumer< midge::type_list< freq_data > >
97  {
98  public:
100  virtual ~roach_freq_monitor();
101 
102  public:
103 
104  public:
105  virtual void initialize();
106  virtual void execute( midge::diptera* a_midge = nullptr );
107  virtual void finalize();
108 
109  private:
111  uint64_t f_packet_count;
113 
114  };
115 
116 
117  class roach_freq_monitor_binding : public _node_binding< roach_freq_monitor, roach_freq_monitor_binding >
118  {
119  public:
121  virtual ~roach_freq_monitor_binding();
122 
123  private:
124  virtual void do_apply_config( roach_freq_monitor* a_node, const scarab::param_node& a_config ) const;
125  virtual void do_dump_config( const roach_freq_monitor* a_node, scarab::param_node& a_config ) const;
126  };
127 
128 } /* namespace psyllid */
129 
130 #endif /* PSYLLID_TF_ROACH_MONITOR_HH_ */
A consumer to check the continuity of the freq-packet stream from a ROACH.
A consumer to check the continuity of the time-packet stream from a ROACH.
virtual void execute(midge::diptera *a_midge=nullptr)