3 #ifndef _MADARA_THREADS_THREADER_H_
4 #define _MADARA_THREADS_THREADER_H_
21 #include "madara/MadaraExport.h"
25 #include "madara_jni.h"
69 void change_hertz(
const std::string& name,
double hertz);
143 bool paused =
false);
161 void run(
const std::string& name, jobject thread,
bool paused =
false);
182 void run(
double hertz,
const std::string& name, jobject thread,
183 bool paused =
false);
206 void debug_to_kb(
const std::string& prefix =
".threader");
221 void disable_debug(
void);
236 void enable_debug(
void);
241 void terminate(
void);
This class provides a distributed knowledge base to users.
Abstract base class for implementing threads.
Starts threads with first class support of MADARA contexts.
Threader & operator=(const Threader &)=delete
Threader & operator=(Threader &&)=default
knowledge::KnowledgeBase control_
The control plane used by threads for termination and pause information.
Threader(Threader &&)=default
NamedWorkerThreads threads_
the threads that are still active
Threader(const Threader &)=delete
knowledge::KnowledgeBase data_
The data plane used by threads.
std::string debug_to_kb_prefix_
if not empty, user has specified debug information should go to the data plane at this prefix
Provides a quality-of-service-enabled threading library.
std::map< std::string, std::unique_ptr< WorkerThread > > NamedWorkerThreads
Collection of named threads.
Copyright(c) 2020 Galois.
Encapsulates settings for a wait statement.