Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MC: checker kindly ask the app whether an actor is enabled instead of reading tons...
[simgrid.git] / src / mc / remote / Client.hpp
index 7974601..7770b65 100644 (file)
@@ -30,12 +30,21 @@ class XBT_PUBLIC() Client {
 private:
   bool active_ = false;
   Channel channel_;
-  static std::unique_ptr<Client> client_;
+  static std::unique_ptr<Client> instance_;
 
 public:
   Client();
   explicit Client(int fd) : active_(true), channel_(fd) {}
   void handleMessages();
+
+private:
+  void handleDeadlockCheck(mc_message_t* msg);
+  void handleContinue(mc_message_t* msg);
+  void handleSimcall(s_mc_message_simcall_handle_t* message);
+  void handleRestore(s_mc_message_restore_t* msg);
+  void handleActorEnabled(s_mc_message_actor_enabled_t* msg);
+
+public:
   Channel const& getChannel() const { return channel_; }
   Channel& getChannel() { return channel_; }
   void mainLoop();
@@ -51,17 +60,9 @@ public:
   // Singleton :/
   // TODO, remove the singleton antipattern.
   static Client* initialize();
-  static Client* get() { return client_.get(); }
+  static Client* get() { return instance_.get(); }
 };
 }
 }
 
-SG_BEGIN_DECL()
-
-#if SIMGRID_HAVE_MC
-void MC_ignore(void* addr, std::size_t size);
-#endif
-
-SG_END_DECL()
-
 #endif