X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/74a055ca8f5532759cfb537ade1983d9b4c344d3..a093e1d3dad9c1e9af6473e1f96e7d5f76a4dac1:/src/gras/Virtu/virtu_sg.h diff --git a/src/gras/Virtu/virtu_sg.h b/src/gras/Virtu/virtu_sg.h index f62517ccac..7554d19b08 100644 --- a/src/gras/Virtu/virtu_sg.h +++ b/src/gras/Virtu/virtu_sg.h @@ -11,16 +11,15 @@ #include "gras/Virtu/virtu_private.h" #include "xbt/dynar.h" -#include "simix/simix.h" /* SimGrid header */ +#include "simgrid/simix.h" /* SimGrid header */ #include "gras/Transport/transport_private.h" typedef struct { int port; /* list of ports used by a server socket */ - int meas; /* (boolean) the channel is for measurements or for messages */ - smx_process_t process; /* process listening */ - smx_rdv_t rdv; /* rendez-vous point to the listener */ -// gras_socket_t socket; FIXME KILLME -} gras_sg_portrec_t; + unsigned meas:1; /* (boolean) the channel is for measurements or for messages */ + smx_process_t server; + smx_rdv_t rdv; +} s_gras_sg_portrec_t, *gras_sg_portrec_t; /* Data for each host */ typedef struct { @@ -30,18 +29,24 @@ typedef struct { } gras_hostdata_t; -/* data for each socket (FIXME: find a better location for that)*/ +/* data for each socket (FIXME: find a better location for that) */ typedef struct { - smx_process_t from_process; - smx_process_t to_process; + smx_process_t server; + smx_process_t client; - smx_host_t to_host; /* Who's on other side */ + smx_rdv_t rdv_server; /* The rendez-vous point to use */ + smx_rdv_t rdv_client; /* The rendez-vous point to use */ + smx_action_t comm_recv; /* The comm of irecv on receiver side */ + gras_msg_t msg; /* The destination buffer of the comm data */ - smx_rdv_t rdv_server; /* The rendez-vous point to use */ - smx_rdv_t rdv_client; /* The rendez-vous point to use */ - int im_server:1; - smx_comm_t comm_recv; /* The comm of irecv on receiving sockets */ -} gras_trp_sg_sock_data_t; + int server_port; + int client_port; +} s_gras_trp_sg_sock_data_t, *gras_trp_sg_sock_data_t; + + +/** \brief Returns if I am on the server side of this socket (either server or listener of server) */ +/* FIXME make an im_the_server function in each socket plugin */ +int gras_socket_im_the_server(xbt_socket_t sock); void *gras_libdata_by_name_from_remote(const char *name, smx_process_t p); @@ -52,4 +57,4 @@ void *gras_libdata_by_name_from_remote(const char *name, smx_process_t p); * order. */ -#endif /* VIRTU_SG_H */ +#endif /* VIRTU_SG_H */