Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2022.
[simgrid.git] / src / mc / checker / CommunicationDeterminismChecker.hpp
index 6e132c8..0bdd374 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2016-2019. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2016-2022. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -18,8 +18,8 @@ namespace mc {
 
 class XBT_PRIVATE CommunicationDeterminismChecker : public Checker {
 public:
-  explicit CommunicationDeterminismChecker(Session& session);
-  ~CommunicationDeterminismChecker();
+  explicit CommunicationDeterminismChecker(Session* session);
+  ~CommunicationDeterminismChecker() override;
   void run() override;
   RecordTrace get_record_trace() override;
   std::vector<std::string> get_textual_trace() override;
@@ -28,18 +28,19 @@ private:
   void prepare();
   void real_run();
   void log_state() override;
-  void deterministic_comm_pattern(int process, const simgrid::mc::PatternCommunication* comm, int backtracking);
+  void deterministic_comm_pattern(aid_t process, const PatternCommunication* comm, int backtracking);
   void restoreState();
+  void handle_comm_pattern(simgrid::mc::CallType call_type, smx_simcall_t req, int value, int backtracking);
+
 public:
   // These are used by functions which should be moved in CommunicationDeterminismChecker:
-  void get_comm_pattern(smx_simcall_t request, e_mc_call_type_t call_type, int backtracking);
-  void complete_comm_pattern(simgrid::mc::RemotePtr<simgrid::kernel::activity::CommImpl> comm_addr, unsigned int issuer,
-                             int backtracking);
+  void get_comm_pattern(smx_simcall_t request, CallType call_type, int backtracking);
+  void complete_comm_pattern(RemotePtr<kernel::activity::CommImpl> const& comm_addr, aid_t issuer, int backtracking);
 
 private:
   /** Stack representing the position in the exploration graph */
-  std::list<std::unique_ptr<simgrid::mc::State>> stack_;
-  simgrid::mc::VisitedStates visited_states_;
+  std::list<std::unique_ptr<State>> stack_;
+  VisitedStates visited_states_;
   unsigned long expanded_states_count_ = 0;
 
   bool initial_communications_pattern_done = false;
@@ -48,8 +49,8 @@ private:
   char *send_diff = nullptr;
   char *recv_diff = nullptr;
 };
+} // namespace mc
+} // namespace simgrid
 
 #endif
 
-}
-}