32 f_last_pkt_in_batch( 0 ),
34 f_acquisition_count( 0 )
52 midge::enum_t t_time_command = stream::s_none;
56 uint64_t t_current_pkt_in_batch = 0;
58 while( ! is_canceled() )
60 t_time_command = in_stream< 0 >().
get();
61 if( t_time_command == stream::s_error )
break;
62 if( t_time_command == stream::s_none )
continue;
64 LTRACE(
plog,
"ROACH time monitor reading stream 0 (time) at index " << in_stream< 0 >().get_current_index() );
66 if( t_time_command == stream::s_exit )
68 LDEBUG(
plog,
"ROACH time monitor is exiting" );
73 if( t_time_command == stream::s_stop )
75 LDEBUG(
plog,
"ROACH time monitor is stopping" );
80 if( t_time_command == stream::s_start )
82 LDEBUG(
plog,
"ROACH time monitor is starting" );
87 t_time_data = in_stream< 0 >().data();
89 if( t_time_command == stream::s_run )
97 LWARN(
plog,
"[Time] Packet-count discontinuity: last packet = " <<
f_last_pkt_in_batch <<
" current packet = " << t_current_pkt_in_batch );
110 if( a_midge ) a_midge->throw_ex( std::current_exception() );
117 LINFO(
plog,
"ROACH Time Monitor statistics:\n" <<
151 f_last_pkt_in_batch( 0 ),
153 f_acquisition_count( 0 )
171 midge::enum_t t_freq_command = stream::s_none;
175 uint64_t t_current_pkt_in_batch = 0;
177 while( ! is_canceled() )
179 t_freq_command = in_stream< 0 >().
get();
180 if( t_freq_command == stream::s_error )
break;
181 if( t_freq_command == stream::s_none )
continue;
183 LTRACE(
plog,
"ROACH freq monitor reading stream 0 (freq) at index " << in_stream< 0 >().get_current_index() );
185 if( t_freq_command == stream::s_exit )
187 LDEBUG(
plog,
"ROACH freq monitor is exiting" );
192 if( t_freq_command == stream::s_stop )
194 LDEBUG(
plog,
"ROACH freq monitor is stopping" );
199 if( t_freq_command == stream::s_start )
201 LDEBUG(
plog,
"ROACH freq monitor is starting" );
206 t_freq_data = in_stream< 0 >().data();
208 if( t_freq_command == stream::s_run )
216 LWARN(
plog,
"[Time] Packet-count discontinuity: last packet = " <<
f_last_pkt_in_batch <<
" current packet = " << t_current_pkt_in_batch );
229 if( a_midge ) a_midge->throw_ex( std::current_exception() );
236 LINFO(
plog,
"ROACH Time Monitor statistics:\n" <<
virtual void execute(midge::diptera *a_midge=nullptr)
virtual void do_dump_config(const roach_freq_monitor *a_node, scarab::param_node &a_config) const
static scarab::logger plog("batch_executor")
virtual ~roach_freq_monitor_binding()
virtual void initialize()
virtual void do_apply_config(roach_time_monitor *a_node, const scarab::param_node &a_config) const
A consumer to check the continuity of the freq-packet stream from a ROACH.
roach_time_monitor_binding()
uint64_t f_last_pkt_in_batch
virtual void do_apply_config(roach_freq_monitor *a_node, const scarab::param_node &a_config) const
uint64_t f_acquisition_count
virtual void do_dump_config(const roach_time_monitor *a_node, scarab::param_node &a_config) const
A consumer to check the continuity of the time-packet stream from a ROACH.
uint64_t f_last_pkt_in_batch
virtual void initialize()
uint32_t get_pkt_in_batch() const
REGISTER_NODE_AND_BUILDER(data_producer, "data-producer", data_producer_binding)
virtual void execute(midge::diptera *a_midge=nullptr)
LOGGER(plog, "egg_writer")
uint64_t f_acquisition_count
virtual ~roach_freq_monitor()
roach_freq_monitor_binding()
virtual ~roach_time_monitor_binding()
virtual ~roach_time_monitor()