X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9af2ab8540ae7fcd7a76daf405eb97b190e2dd40..778f65057da68465382593cd036b6ee59ada54e9:/src/gras/Transport/sg_transport.c diff --git a/src/gras/Transport/sg_transport.c b/src/gras/Transport/sg_transport.c index 9990a7e3e2..e11b1166be 100644 --- a/src/gras/Transport/sg_transport.c +++ b/src/gras/Transport/sg_transport.c @@ -12,8 +12,10 @@ #include "msg/msg.h" #include "gras/Virtu/virtu_sg.h" -XBT_LOG_EXTERNAL_CATEGORY(transport); -XBT_LOG_DEFAULT_CATEGORY(transport); +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(gras_trp); + +/* check transport_private.h for an explanation of this variable; this just need to be defined to NULL in SG */ +gras_socket_t _gras_lastly_selected_socket = NULL; /** * gras_trp_select: @@ -29,7 +31,8 @@ XBT_LOG_DEFAULT_CATEGORY(transport); gras_socket_t gras_trp_select(double timeout) { gras_socket_t res; - gras_trp_procdata_t pd=(gras_trp_procdata_t)gras_libdata_by_id(gras_trp_libdata_id); + gras_trp_procdata_t pd = + (gras_trp_procdata_t) gras_libdata_by_id(gras_trp_libdata_id); gras_trp_sg_sock_data_t *sockdata; gras_trp_plugin_t trp; @@ -58,11 +61,11 @@ gras_socket_t gras_trp_select(double timeout) { /* Try to reuse an already openned socket to that expeditor */ xbt_dynar_foreach(pd->sockets,cursor,sock_iter) { DEBUG1("Consider %p as outgoing socket to expeditor",sock_iter); - sockdata = sock_iter->data; if (sock_iter->meas || !sock_iter->outgoing) continue; + sockdata = sock_iter->data; if (sockdata->to_PID == r_pid) { return sock_iter; } @@ -81,7 +84,7 @@ gras_socket_t gras_trp_select(double timeout) { res->accepting = 0; res->sd = -1; - res->port = -1; + res->port = -1; sockdata = xbt_new(gras_trp_sg_sock_data_t,1); sockdata->from_PID = MSG_process_self_PID(); @@ -89,7 +92,7 @@ gras_socket_t gras_trp_select(double timeout) { sockdata->to_host = MSG_process_get_host(MSG_process_from_PID(r_pid)); res->data = sockdata; gras_trp_buf_init_sock(res); - + res->peer_name = strdup(MSG_host_get_name(sockdata->to_host)); remote_hd=(gras_hostdata_t *)MSG_host_get_data(sockdata->to_host); @@ -127,6 +130,7 @@ gras_socket_t gras_trp_select(double timeout) { } } } + res->peer_port = ((gras_trp_procdata_t) gras_libdata_by_name_from_remote("gras_trp",MSG_process_from_PID(r_pid)))->myport; xbt_assert0(sockdata->to_chan != -1, "Got a message from a process without channel"); @@ -138,7 +142,6 @@ gras_socket_t gras_trp_select(double timeout) { void gras_trp_tcp_setup(gras_trp_plugin_t plug) { THROW0(mismatch_error,0,NULL); } void gras_trp_file_setup(gras_trp_plugin_t plug){ THROW0(mismatch_error,0,NULL); } -void gras_trp_buf_setup(gras_trp_plugin_t plug) { THROW0(mismatch_error,0,NULL); } void gras_trp_iov_setup(gras_trp_plugin_t plug) { THROW0(mismatch_error,0,NULL); } gras_socket_t gras_trp_buf_init_sock(gras_socket_t sock) { return sock;}