X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d13b1659a0c2551ee41b287a269e391bb2d7bc8a..e6ca184e99d50d0ee8fe405a83ee5277e2ecfce6:/src/mc/mc_protocol.cpp diff --git a/src/mc/mc_protocol.cpp b/src/mc/mc_protocol.cpp index 01c4f9dd40..027bdda8e1 100644 --- a/src/mc/mc_protocol.cpp +++ b/src/mc/mc_protocol.cpp @@ -6,31 +6,32 @@ #include #include +#include // perror +#include // std::size_t #include #include #include -#include "mc_protocol.h" -#include "mc_client.h" +#include "src/mc/mc_protocol.h" +#include "src/mc/mc_client.h" extern "C" { XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_protocol, mc, "Generic MC protocol logic"); -int MC_protocol_send(int socket, void* message, size_t size) +int MC_protocol_send(int socket, const void* message, std::size_t size) { XBT_DEBUG("Protocol [%s] send %s", MC_mode_name(mc_mode), MC_message_type_name(*(e_mc_message_type*) message)); - while (send(socket, message, size, 0) == -1) { + while (send(socket, message, size, 0) == -1) if (errno == EINTR) continue; else return errno; - } return 0; } @@ -41,42 +42,13 @@ int MC_protocol_send_simple_message(int socket, e_mc_message_type type) return MC_protocol_send(socket, &message, sizeof(message)); } -int MC_protocol_hello(int socket) -{ - int e; - if ((e = MC_protocol_send_simple_message(socket, MC_MESSAGE_HELLO)) != 0) { - XBT_ERROR("Could not send HELLO message"); - return 1; - } - - s_mc_message_t message; - message.type = MC_MESSAGE_NONE; - - ssize_t s; - while ((s = MC_receive_message(socket, &message, sizeof(message), 0)) == -1) { - if (errno == EINTR) - continue; - else { - XBT_ERROR("Could not receive HELLO message"); - return 2; - } - } - if ((size_t) s < sizeof(message) || message.type != MC_MESSAGE_HELLO) { - XBT_ERROR("Did not receive suitable HELLO message. Who are you?"); - return 3; - } - - return 0; -} - ssize_t MC_receive_message(int socket, void* message, size_t size, int options) { int res = recv(socket, message, size, options); - if (res != -1) { + if (res != -1) XBT_DEBUG("Protocol [%s] received %s", MC_mode_name(mc_mode), MC_message_type_name(*(e_mc_message_type*) message)); - } return res; } @@ -85,8 +57,6 @@ const char* MC_message_type_name(e_mc_message_type type) switch(type) { case MC_MESSAGE_NONE: return "NONE"; - case MC_MESSAGE_HELLO: - return "HELLO"; case MC_MESSAGE_CONTINUE: return "CONTINUE"; case MC_MESSAGE_IGNORE_HEAP: