Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Reintroduce raw sockets.
[simgrid.git] / src / gras / Transport / sg_transport.c
index b17f5fc..b79eafc 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);
@@ -31,7 +31,7 @@ gras_trp_select(double timeout,
                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;
@@ -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,7 +68,7 @@ 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));
       (*dst)->plugin   = trp;
@@ -80,13 +80,14 @@ gras_trp_select(double timeout,
 
       (*dst)->port      = -1;
 
-      if (!(sockdata = malloc(sizeof(gras_trp_sg_sock_data_t))))
+      if (!(sockdata = gras_new(gras_trp_sg_sock_data_t,1)))
        RAISE_MALLOC;
 
       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 +136,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 +155,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;
 }
+
+
+