Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Encapsulate model-checker/model-checker communications classes
[simgrid.git] / src / mc / mc_protocol.cpp
1 /* Copyright (c) 2015. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include <errno.h>
8 #include <string.h>
9 #include <stdio.h> // perror
10 #include <cstddef> // std::size_t
11
12 #include <sys/types.h>
13 #include <sys/socket.h>
14
15 #include <xbt/log.h>
16
17 #include "src/mc/mc_protocol.h"
18 #include "src/mc/mc_client.h"
19
20 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_protocol, mc, "Generic MC protocol logic");
21
22 const char* MC_message_type_name(e_mc_message_type type)
23 {
24   switch(type) {
25   case MC_MESSAGE_NONE:
26     return "NONE";
27   case MC_MESSAGE_CONTINUE:
28     return "CONTINUE";
29   case MC_MESSAGE_IGNORE_HEAP:
30     return "IGNORE_HEAP";
31   case MC_MESSAGE_UNIGNORE_HEAP:
32     return "UNIGNORE_HEAP";
33   case MC_MESSAGE_IGNORE_MEMORY:
34     return "IGNORE_MEMORY";
35   case MC_MESSAGE_STACK_REGION:
36     return "STACK_REGION";
37   case MC_MESSAGE_REGISTER_SYMBOL:
38     return "REGISTER_SYMBOL";
39   case MC_MESSAGE_DEADLOCK_CHECK:
40     return "DEADLOCK_CHECK";
41   case MC_MESSAGE_DEADLOCK_CHECK_REPLY:
42     return "DEADLOCK_CHECK_REPLY";
43   case MC_MESSAGE_WAITING:
44     return "WAITING";
45   case MC_MESSAGE_SIMCALL_HANDLE:
46     return "SIMCALL_HANDLE";
47   case MC_MESSAGE_ASSERTION_FAILED:
48     return "ASSERTION_FAILED";
49   default:
50     return "?";
51   }
52 }
53
54 const char* MC_mode_name(e_mc_mode_t mode)
55 {
56   switch(mode) {
57   case MC_MODE_NONE:
58     return "NONE";
59   case MC_MODE_CLIENT:
60     return "CLIENT";
61   case MC_MODE_SERVER:
62     return "SERVER";
63   default:
64     return "?";
65   }
66 }