Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add default method for constructing full graph
[simgrid.git] / src / mc / explo / CommunicationDeterminismChecker.cpp
index ad0677a..d60839c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2008-2022. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2008-2023. 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. */
@@ -11,6 +11,7 @@
 #include "src/mc/mc_private.hpp"
 #include "src/mc/transition/TransitionAny.hpp"
 #include "src/mc/transition/TransitionComm.hpp"
+#include "xbt/string.hpp"
 
 #include <cstdint>
 
@@ -233,7 +234,7 @@ void CommDetExtension::get_comm_pattern(const Transition* transition)
   auto pattern   = std::make_unique<PatternCommunication>();
   pattern->index = initial_pattern.index_comm + incomplete_pattern.size();
 
-  if (transition->type_ == Transition::Type::COMM_SEND) {
+  if (transition->type_ == Transition::Type::COMM_ASYNC_SEND) {
     auto* send = static_cast<const CommSendTransition*>(transition);
 
     pattern->type      = PatternCommunicationType::send;
@@ -242,7 +243,7 @@ void CommDetExtension::get_comm_pattern(const Transition* transition)
 
     // FIXME: Detached sends should be enforced when the receive is waited
 
-  } else if (transition->type_ == Transition::Type::COMM_RECV) {
+  } else if (transition->type_ == Transition::Type::COMM_ASYNC_RECV) {
     auto* recv = static_cast<const CommRecvTransition*>(transition);
 
     pattern->type      = PatternCommunicationType::receive;
@@ -290,8 +291,8 @@ void CommDetExtension::handle_comm_pattern(const Transition* transition)
     return;
 
   switch (transition->type_) {
-    case Transition::Type::COMM_SEND:
-    case Transition::Type::COMM_RECV:
+    case Transition::Type::COMM_ASYNC_SEND:
+    case Transition::Type::COMM_ASYNC_RECV:
       get_comm_pattern(transition);
       break;
     case Transition::Type::COMM_WAIT:
@@ -339,7 +340,7 @@ Exploration* create_communication_determinism_checker(const std::vector<char*>&
     state->extension_set(new StateCommDet(*extension, remote_app));
   });
 
-  DFSExplorer::on_restore_system_state([extension](State* state, RemoteApp const& remote_app) {
+  DFSExplorer::on_restore_system_state([extension](State const* state, RemoteApp const& remote_app) {
     extension->restore_communications_pattern(state, remote_app);
   });
 
@@ -354,9 +355,9 @@ Exploration* create_communication_determinism_checker(const std::vector<char*>&
   });
 
   DFSExplorer::on_transition_replay(
-      [extension](Transition* t, RemoteApp const&) { extension->handle_comm_pattern(t); });
+      [extension](Transition const* t, RemoteApp const&) { extension->handle_comm_pattern(t); });
   DFSExplorer::on_transition_execute(
-      [extension](Transition* t, RemoteApp const&) { extension->handle_comm_pattern(t); });
+      [extension](Transition const* t, RemoteApp const&) { extension->handle_comm_pattern(t); });
 
   DFSExplorer::on_log_state([extension](RemoteApp const&) {
     if (_sg_mc_comms_determinism) {