X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/66b0686fe441796325c3b5738b1b880d15ce1ea6..ba773d1d2583d6907c3f28ea0c7fa035524cae87:/src/gras/Msg/rl_msg.c diff --git a/src/gras/Msg/rl_msg.c b/src/gras/Msg/rl_msg.c index d3953714e1..d19d7bb028 100644 --- a/src/gras/Msg/rl_msg.c +++ b/src/gras/Msg/rl_msg.c @@ -7,15 +7,15 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "xbt/ex.h" +#include "xbt/datadesc.h" +#include "xbt/datadesc/datadesc_interface.h" +#include "xbt/socket.h" #include "gras/Msg/msg_private.h" +#include "gras/Transport/transport_interface.h" -#include "gras/DataDesc/datadesc_interface.h" -#include "gras/Transport/transport_interface.h" /* gras_trp_send/recv */ +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(gras_msg); -XBT_LOG_EXTERNAL_CATEGORY(gras_msg); -XBT_LOG_DEFAULT_CATEGORY(gras_msg); - -void gras_msg_recv(gras_socket_t sock, gras_msg_t msg); +void gras_msg_recv(xbt_socket_t sock, gras_msg_t msg); gras_msg_t gras_msg_recv_any(void) { @@ -26,31 +26,31 @@ gras_msg_t gras_msg_recv_any(void) return msg; } -void gras_msg_send_ext(gras_socket_t sock, +void gras_msg_send_ext(xbt_socket_t sock, e_gras_msg_kind_t kind, unsigned long int ID, gras_msgtype_t msgtype, void *payload) { - static gras_datadesc_type_t string_type = NULL; - static gras_datadesc_type_t ulong_type = NULL; + static xbt_datadesc_type_t string_type = NULL; + static xbt_datadesc_type_t ulong_type = NULL; char c_kind = (char) kind; xbt_assert(msgtype, "Cannot send the NULL message"); if (!string_type) { - string_type = gras_datadesc_by_name("string"); + string_type = xbt_datadesc_by_name("string"); xbt_assert(string_type); } if (!ulong_type) { - ulong_type = gras_datadesc_by_name("unsigned long int"); + ulong_type = xbt_datadesc_by_name("unsigned long int"); xbt_assert(ulong_type); } XBT_DEBUG("send '%s' to %s:%d", msgtype->name, - gras_socket_peer_name(sock), gras_socket_peer_port(sock)); - gras_trp_send(sock, _GRAS_header, 6, 1 /* stable */ ); - gras_trp_send(sock, &c_kind, 1, 1 /* stable */ ); + xbt_socket_peer_name(sock), xbt_socket_peer_port(sock)); + xbt_trp_send(sock, _GRAS_header, 6, 1 /* stable */ ); + xbt_trp_send(sock, &c_kind, 1, 1 /* stable */ ); switch (kind) { case e_gras_msg_kind_oneway: break; @@ -58,27 +58,27 @@ void gras_msg_send_ext(gras_socket_t sock, case e_gras_msg_kind_rpccall: case e_gras_msg_kind_rpcanswer: case e_gras_msg_kind_rpcerror: - gras_datadesc_send(sock, ulong_type, &ID); + xbt_datadesc_send(sock, ulong_type, &ID); break; default: - THROWF(unknown_error, 0, "Unknown msg kind %d", kind); + THROWF(unknown_error, 0, "Unknown msg kind %d", (int)kind); } - gras_datadesc_send(sock, string_type, &msgtype->name); + xbt_datadesc_send(sock, string_type, &msgtype->name); if (kind == e_gras_msg_kind_rpcerror) { /* error on remote host, carfull, payload is an exception */ - gras_datadesc_send(sock, gras_datadesc_by_name("ex_t"), payload); + xbt_datadesc_send(sock, xbt_datadesc_by_name("ex_t"), payload); } else if (kind == e_gras_msg_kind_rpcanswer) { if (msgtype->answer_type) - gras_datadesc_send(sock, msgtype->answer_type, payload); + xbt_datadesc_send(sock, msgtype->answer_type, payload); } else { /* regular message */ if (msgtype->ctn_type) - gras_datadesc_send(sock, msgtype->ctn_type, payload); + xbt_datadesc_send(sock, msgtype->ctn_type, payload); } - gras_trp_flush(sock); + xbt_trp_flush(sock); } const char *hexa_str(unsigned char *data, int size, int downside); @@ -87,34 +87,34 @@ const char *hexa_str(unsigned char *data, int size, int downside); /* * receive the next message on the given socket. */ -void gras_msg_recv(gras_socket_t sock, gras_msg_t msg) +void gras_msg_recv(xbt_socket_t sock, gras_msg_t msg) { xbt_ex_t e; - static gras_datadesc_type_t string_type = NULL; - static gras_datadesc_type_t ulong_type = NULL; + static xbt_datadesc_type_t string_type = NULL; + static xbt_datadesc_type_t ulong_type = NULL; char header[6]; int cpt; int r_arch; char *msg_name = NULL; char c_kind; - xbt_assert(!gras_socket_is_meas(sock), + xbt_assert(!xbt_socket_is_meas(sock), "Asked to receive a message on the measurement socket %p", sock); if (!string_type) { - string_type = gras_datadesc_by_name("string"); + string_type = xbt_datadesc_by_name("string"); xbt_assert(string_type); } if (!ulong_type) { - ulong_type = gras_datadesc_by_name("unsigned long int"); + ulong_type = xbt_datadesc_by_name("unsigned long int"); xbt_assert(ulong_type); } TRY { - gras_trp_recv(sock, header, 6); - gras_trp_recv(sock, &c_kind, 1); + xbt_trp_recv(sock, header, 6); + xbt_trp_recv(sock, &c_kind, 1); msg->kind = (e_gras_msg_kind_t) c_kind; } CATCH_ANONYMOUS { @@ -139,18 +139,18 @@ void gras_msg_recv(gras_socket_t sock, gras_msg_t msg) case e_gras_msg_kind_rpccall: case e_gras_msg_kind_rpcanswer: case e_gras_msg_kind_rpcerror: - gras_datadesc_recv(sock, ulong_type, r_arch, &msg->ID); + xbt_datadesc_recv(sock, ulong_type, r_arch, &msg->ID); break; default: THROW_IMPOSSIBLE; } - gras_datadesc_recv(sock, string_type, r_arch, &msg_name); + xbt_datadesc_recv(sock, string_type, r_arch, &msg_name); XBT_DEBUG ("Handle an incoming message '%s' (%s) using protocol %d (remote is %s)", msg_name, e_gras_msg_kind_names[msg->kind], (int) header[4], - gras_datadesc_arch_name(r_arch)); + xbt_datadesc_arch_name(r_arch)); TRY { msg->type = @@ -172,21 +172,21 @@ void gras_msg_recv(gras_socket_t sock, gras_msg_t msg) if (msg->kind == e_gras_msg_kind_rpcerror) { /* error on remote host. Carfull with that exception, eugene */ - msg->payl_size = gras_datadesc_size(gras_datadesc_by_name("ex_t")); + msg->payl_size = xbt_datadesc_size(xbt_datadesc_by_name("ex_t")); msg->payl = xbt_malloc(msg->payl_size); - gras_datadesc_recv(sock, gras_datadesc_by_name("ex_t"), r_arch, + xbt_datadesc_recv(sock, xbt_datadesc_by_name("ex_t"), r_arch, msg->payl); } else if (msg->kind == e_gras_msg_kind_rpcanswer) { /* answer to RPC */ if (msg->type->answer_type) { - msg->payl_size = gras_datadesc_size(msg->type->answer_type); + msg->payl_size = xbt_datadesc_size(msg->type->answer_type); xbt_assert(msg->payl_size > 0, "%s %s", "Dynamic array as payload is forbided for now (FIXME?).", "Reference to dynamic array is allowed."); msg->payl = xbt_malloc(msg->payl_size); - gras_datadesc_recv(sock, msg->type->answer_type, r_arch, msg->payl); + xbt_datadesc_recv(sock, msg->type->answer_type, r_arch, msg->payl); } else { msg->payl = NULL; msg->payl_size = 0; @@ -194,13 +194,13 @@ void gras_msg_recv(gras_socket_t sock, gras_msg_t msg) } else { /* regular message */ if (msg->type->ctn_type) { - msg->payl_size = gras_datadesc_size(msg->type->ctn_type); + msg->payl_size = xbt_datadesc_size(msg->type->ctn_type); xbt_assert(msg->payl_size > 0, "%s %s", "Dynamic array as payload is forbided for now (FIXME?).", "Reference to dynamic array is allowed."); msg->payl = xbt_malloc(msg->payl_size); - gras_datadesc_recv(sock, msg->type->ctn_type, r_arch, msg->payl); + xbt_datadesc_recv(sock, msg->type->ctn_type, r_arch, msg->payl); } else { msg->payl = NULL; msg->payl_size = 0;