+
+ std::string const& get_host_name(const char* hostname)
+ {
+ return *this->hostnames_.insert(hostname).first;
+ }
+ std::string const& get_host_name(std::string const& hostname)
+ {
+ return *this->hostnames_.insert(hostname).first;
+ }
+
+ void start();
+ void shutdown();
+ void resume(simgrid::mc::Process& process);
+ void loop();
+ bool handle_events();
+ void wait_client(simgrid::mc::Process& process);
+ void handle_simcall(Transition const& transition);
+ void wait_for_requests()
+ {
+ mc_model_checker->wait_client(mc_model_checker->process());
+ }
+ void exit(int status);
+
+ bool checkDeadlock();
+
+ Checker* getChecker() const { return checker_; }
+ void setChecker(Checker* checker) { checker_ = checker; }
+
+private:
+ void setup_ignore();
+ bool handle_message(char* buffer, ssize_t size);
+ void handle_signals();
+ void handle_waitpid();
+ void on_signal(const struct signalfd_siginfo* info);
+
+public:
+ unsigned long visited_states = 0;
+ unsigned long executed_transitions = 0;