1 #ifndef ROSE_BinaryAnalysis_ModelChecker_WorkerStatus_H
2 #define ROSE_BinaryAnalysis_ModelChecker_WorkerStatus_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_MODEL_CHECKER
6 #include <Rose/BinaryAnalysis/ModelChecker/Types.h>
8 #include <Rose/Progress.h>
9 #include <boost/filesystem.hpp>
12 namespace BinaryAnalysis {
13 namespace ModelChecker {
19 using Ptr = WorkerStatusPtr;
22 boost::filesystem::path fileName_;
27 time_t stateChange = 0;
31 std::vector<Status> workers_;
32 time_t lastFileUpdate_ = 0;
34 static constexpr time_t fileUpdatePeriod_ = 1;
35 static constexpr
size_t workersPerLine_ = 4;
36 static constexpr
size_t barWidth_ = 20;
39 WorkerStatus(
const boost::filesystem::path &fileName);
46 static Ptr instance(
const boost::filesystem::path &fileName);
54 void setState(
size_t workerIdx, WorkerState);
57 const boost::filesystem::path& fileName()
const;
Main namespace for the ROSE library.
const char * WorkerState(int64_t)
Convert Rose::BinaryAnalysis::ModelChecker::WorkerState enum constant to a string.
Sawyer::SharedPointer< Node > Ptr
Reference counting pointer.
ProgressPtr Ptr
Progress objects are reference counted.