/** State of the model-checker (global variables for the model checker)
*/
class ModelChecker {
- CheckerSide event_loop_;
+ CheckerSide checker_side_;
/** String pool for host names */
std::set<std::string> hostnames_;
// This is the parent snapshot of the current state:
PageStore page_store_{500};
- std::unique_ptr<RemoteClient> process_;
+ std::unique_ptr<RemoteSimulation> remote_simulation_;
Checker* checker_ = nullptr;
public:
ModelChecker(ModelChecker const&) = delete;
ModelChecker& operator=(ModelChecker const&) = delete;
- explicit ModelChecker(std::unique_ptr<RemoteClient> process);
+ explicit ModelChecker(std::unique_ptr<RemoteSimulation> remote_simulation, int sockfd);
- RemoteClient& process() { return *process_; }
+ RemoteSimulation& get_remote_simulation() { return *remote_simulation_; }
+ Channel& channel() { return checker_side_.get_channel(); }
PageStore& page_store()
{
return page_store_;
void start();
void shutdown();
- void resume(simgrid::mc::RemoteClient& process);
- void handle_events(int fd, short events);
+ void resume(simgrid::mc::RemoteSimulation& get_remote_simulation);
void wait_for_requests();
void handle_simcall(Transition const& transition);
+
XBT_ATTRIB_NORETURN void exit(int status);
bool checkDeadlock();