Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Prefer "using" to "typedef".
[simgrid.git] / src / mc / ModelChecker.hpp
index 4e75bf5..faca1fa 100644 (file)
@@ -20,20 +20,21 @@ namespace mc {
 /** 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<RemoteClientMemory> 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<RemoteClientMemory> process);
+  explicit ModelChecker(std::unique_ptr<RemoteSimulation> remote_simulation, int sockfd);
 
-  RemoteClientMemory& process() { return *process_; }
+  RemoteSimulation& get_remote_simulation() { return *remote_simulation_; }
+  Channel& channel() { return checker_side_.get_channel(); }
   PageStore& page_store()
   {
     return page_store_;
@@ -46,8 +47,7 @@ public:
 
   void start();
   void shutdown();
-  void resume(simgrid::mc::RemoteClientMemory& 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);