Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
The change Arnaud wanted so much: Big Star Eradication (plus some more, check the...
[simgrid.git] / src / gras / Transport / sg_transport.c
index b17f5fc..39adee9 100644 (file)
@@ -8,9 +8,9 @@
 /* This program is free software; you can redistribute it and/or modify it
    under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "Transport/transport_private.h"
+#include "gras/Transport/transport_private.h"
 #include <msg.h>
-#include "Virtu/virtu_sg.h"
+#include "gras/Virtu/virtu_sg.h"
 
 GRAS_LOG_EXTERNAL_CATEGORY(transport);
 GRAS_LOG_DEFAULT_CATEGORY(transport);
@@ -28,15 +28,15 @@ GRAS_LOG_DEFAULT_CATEGORY(transport);
  */
 gras_error_t 
 gras_trp_select(double timeout, 
-               gras_socket_t **dst) {
+               gras_socket_t *dst) {
 
   gras_error_t errcode;
-  double startTime=gras_time();
+  double startTime=gras_os_time();
   gras_procdata_t *pd=gras_procdata_get();
   gras_trp_sg_sock_data_t *sockdata;
   gras_trp_plugin_t *trp;
 
-  gras_socket_t *sock_iter; /* iterating over all sockets */
+  gras_socket_t sock_iter; /* iterating over all sockets */
   int cursor,cpt;
 
   gras_sg_portrec_t pr;     /* iterating to find the chanel of expeditor */
@@ -44,7 +44,7 @@ gras_trp_select(double timeout,
   int r_pid;
   gras_hostdata_t *remote_hd;
 
-  DEBUG3("select on %s@%s with timeout=%d",
+  DEBUG3("select on %s@%s with timeout=%f",
         MSG_process_get_name(MSG_process_self()),
         MSG_host_get_name(MSG_host_self()),
         timeout);
@@ -68,9 +68,9 @@ gras_trp_select(double timeout,
       /* Socket to expeditor not created yet */
       DEBUG0("Create a socket to the expeditor");
 
-      TRY(gras_trp_plugin_get_by_name("sg",&trp));
+      TRY(gras_trp_plugin_get_by_name("buf",&trp));
 
-      TRY(gras_trp_socket_new(1,dst));
+      gras_trp_socket_new(1,dst);
       (*dst)->plugin   = trp;
 
       (*dst)->incoming  = 1;
@@ -80,13 +80,12 @@ gras_trp_select(double timeout,
 
       (*dst)->port      = -1;
 
-      if (!(sockdata = malloc(sizeof(gras_trp_sg_sock_data_t))))
-       RAISE_MALLOC;
-
+      sockdata = gras_new(gras_trp_sg_sock_data_t,1);
       sockdata->from_PID = MSG_process_self_PID();
       sockdata->to_PID   = r_pid;
       sockdata->to_host  = MSG_process_get_host(MSG_process_from_PID(r_pid));
       (*dst)->data = sockdata;
+      gras_trp_buf_init_sock(*dst);
 
       (*dst)->peer_name = strdup(MSG_host_get_name(sockdata->to_host));
 
@@ -135,10 +134,10 @@ gras_trp_select(double timeout,
             MSG_process_get_name(MSG_process_self()),
             MSG_host_get_name(MSG_host_self()));
       */
-      // MSG_process_sleep(1);
-      MSG_process_sleep(0.01);
+      /* MSG_process_sleep(1); */
+      MSG_process_sleep(0.001);
     }
-  } while (gras_time()-startTime < timeout
+  } while (gras_os_time()-startTime < timeout
           || MSG_task_Iprobe((m_channel_t) pd->chan));
 
   return timeout_error;
@@ -154,3 +153,6 @@ gras_error_t gras_trp_tcp_setup(gras_trp_plugin_t *plug) {
 gras_error_t gras_trp_file_setup(gras_trp_plugin_t *plug) {
   return mismatch_error;
 }
+
+
+