pub struct ThreadControl {Show 24 fields
pub stop_flag: bool,
pub sigint_recvd: bool,
pub end_all_rb_threads: bool,
pub calibration_active: bool,
pub finished_calibrations: HashMap<u8, bool>,
pub calibrations: HashMap<u8, RBCalibrations>,
pub holdoff_mtb_thread: bool,
pub thread_cmd_dispatch_active: bool,
pub thread_data_sink_active: bool,
pub thread_runner_active: bool,
pub thread_event_bldr_active: bool,
pub thread_master_trg_active: bool,
pub thread_monitoring_active: bool,
pub thread_rbcomm_active: HashMap<u8, bool>,
pub thread_signal_hdlr_active: bool,
pub run_id: u32,
pub n_rbs: u32,
pub rb_list: Vec<ReadoutBoard>,
pub verification_active: bool,
pub detector_status: TofDetectorStatus,
pub write_data_to_disk: bool,
pub new_run_start_flag: bool,
pub reset_mtb_daq: bool,
pub liftof_settings: LiftofSettings,
}Expand description
Send runtime information to threads via shared memory (Arc(Mutex)
Fields§
§stop_flag: boolStop ALL threads
sigint_recvd: boolReceived INT signal
end_all_rb_threads: boolsignal to end all rb thread activity
calibration_active: boolTrigger calibration thread
finished_calibrations: HashMap<u8, bool>Keep track on how many calibration packets we have received
calibrations: HashMap<u8, RBCalibrations>Hold the actual calibration data
holdoff_mtb_thread: boolHold off the master trigger thread, until everything else is ready
thread_cmd_dispatch_active: boolalive indicator for cmd dispatch thread
thread_data_sink_active: boolalive indicator for data sink thread
thread_runner_active: boolalive indicator for runner thread
thread_event_bldr_active: boolalive indicator for event builder thread
thread_master_trg_active: boolalive indicator for master trigger thread
thread_monitoring_active: boolalive indicator for monitoring thread
thread_rbcomm_active: HashMap<u8, bool>Running readoutboard communicator threads - the key is associated rb id
thread_signal_hdlr_active: boolManage CTRL+C (or CMD+C/Mac) input
run_id: u32The current run id
n_rbs: u32The number of boards available
rb_list: Vec<ReadoutBoard>The active readoutboards in the Tof
verification_active: boolVerification run currently active
detector_status: TofDetectorStatusTOF Detector status - which channels are active?
write_data_to_disk: boolDecide if data is actually written to disk
new_run_start_flag: boolindicator that a new run has started (data sinks need to know)
reset_mtb_daq: boolinitiate a MTB DAQ reset (if the queue is behind)
liftof_settings: LiftofSettingsImplementations§
Source§impl ThreadControl
impl ThreadControl
Trait Implementations§
Source§impl Debug for ThreadControl
impl Debug for ThreadControl
Source§impl Default for ThreadControl
impl Default for ThreadControl
Source§fn default() -> ThreadControl
fn default() -> ThreadControl
Auto Trait Implementations§
impl Freeze for ThreadControl
impl RefUnwindSafe for ThreadControl
impl Send for ThreadControl
impl Sync for ThreadControl
impl Unpin for ThreadControl
impl UnwindSafe for ThreadControl
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
&self to an expression for Diesel’s query builder. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more