Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines.
[simgrid.git] / src / mc / remote / mc_protocol.cpp
index f014ece..941c602 100644 (file)
@@ -1,45 +1,17 @@
-/* Copyright (c) 2015-2019. The SimGrid Team.
+/* Copyright (c) 2015-2021. 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. */
 
 #include "src/mc/remote/mc_protocol.h"
+#include <array>
 
-const char* MC_message_type_name(e_mc_message_type type)
+const char* MC_message_type_name(simgrid::mc::MessageType type)
 {
-  switch (type) {
-    case MC_MESSAGE_NONE:
-      return "NONE";
-    case MC_MESSAGE_CONTINUE:
-      return "CONTINUE";
-    case MC_MESSAGE_IGNORE_HEAP:
-      return "IGNORE_HEAP";
-    case MC_MESSAGE_UNIGNORE_HEAP:
-      return "UNIGNORE_HEAP";
-    case MC_MESSAGE_IGNORE_MEMORY:
-      return "IGNORE_MEMORY";
-    case MC_MESSAGE_STACK_REGION:
-      return "STACK_REGION";
-    case MC_MESSAGE_REGISTER_SYMBOL:
-      return "REGISTER_SYMBOL";
-    case MC_MESSAGE_DEADLOCK_CHECK:
-      return "DEADLOCK_CHECK";
-    case MC_MESSAGE_DEADLOCK_CHECK_REPLY:
-      return "DEADLOCK_CHECK_REPLY";
-    case MC_MESSAGE_WAITING:
-      return "WAITING";
-    case MC_MESSAGE_SIMCALL_HANDLE:
-      return "SIMCALL_HANDLE";
-    case MC_MESSAGE_ASSERTION_FAILED:
-      return "ASSERTION_FAILED";
-
-    case MC_MESSAGE_ACTOR_ENABLED:
-      return "ACTOR_ENABLED";
-    case MC_MESSAGE_ACTOR_ENABLED_REPLY:
-      return "ACTOR_ENABLED_REPLY";
-
-    default:
-      return "?";
-  }
+  constexpr std::array<const char*, 14> names{{"NONE", "CONTINUE", "IGNORE_HEAP", "UNIGNORE_HEAP", "IGNORE_MEMORY",
+                                               "STACK_REGION", "REGISTER_SYMBOL", "DEADLOCK_CHECK",
+                                               "DEADLOCK_CHECK_REPLY", "WAITING", "SIMCALL_HANDLE", "ASSERTION_FAILED",
+                                               "ACTOR_ENABLED", "ACTOR_ENABLED_REPLY"}};
+  return names[static_cast<int>(type)];
 }