Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Rework the Transport layer to simplify it and improve its performance
[simgrid.git] / src / gras / Transport / transport_private.h
index 9722dcc..484cac4 100644 (file)
@@ -14,7 +14,6 @@
 
 #include "xbt/sysdep.h"
 #include "xbt/log.h"
-#include "xbt/error.h"
 #include "xbt/dynar.h"
 #include "xbt/dict.h"
 
 typedef struct gras_trp_bufdata_ gras_trp_bufdata_t;
 
 typedef struct s_gras_socket  {
-  gras_trp_plugin_t *plugin;
+  gras_trp_plugin_t plugin;
     
   int incoming :1; /* true if we can read from this sock */
   int outgoing :1; /* true if we can write on this sock */
   int accepting :1; /* true if master incoming sock in tcp */
-  int raw :1; /* true if this is an experiment socket instead of messaging */
+  int meas :1; /* true if this is an experiment socket instead of messaging */
 
   unsigned long int bufSize; /* what to say to the OS. field here to remember it when accepting */
    
@@ -58,12 +57,13 @@ void gras_trp_socket_new(int incomming,
                         gras_socket_t *dst);
 
 /* The drivers */
-typedef xbt_error_t (*gras_trp_setup_t)(gras_trp_plugin_t *dst);
+typedef void (*gras_trp_setup_t)(gras_trp_plugin_t dst);
 
-xbt_error_t gras_trp_tcp_setup(gras_trp_plugin_t *plug);
-xbt_error_t gras_trp_file_setup(gras_trp_plugin_t *plug);
-xbt_error_t gras_trp_sg_setup(gras_trp_plugin_t *plug);
-xbt_error_t gras_trp_buf_setup(gras_trp_plugin_t *plug);
+void gras_trp_tcp_setup(gras_trp_plugin_t plug);
+void gras_trp_iov_setup(gras_trp_plugin_t plug);
+void gras_trp_file_setup(gras_trp_plugin_t plug);
+void gras_trp_sg_setup(gras_trp_plugin_t plug);
+void gras_trp_buf_setup(gras_trp_plugin_t plug);
 
 /*
 
@@ -71,7 +71,7 @@ xbt_error_t gras_trp_buf_setup(gras_trp_plugin_t *plug);
   manually do deal with the weirdness of the hostdata, themselves here to deal
   with the weird channel concept of SG and convert them back to ports.
   
-  When introducing buffered transport (whith I want to get used in SG to debug
+  When introducing buffered transport (which I want to get used in SG to debug
   the buffering itself), we should not make the rest of the code aware of the
   change and not specify code for this. This is bad design.
   
@@ -83,15 +83,7 @@ xbt_error_t gras_trp_buf_setup(gras_trp_plugin_t *plug);
 
 */
 
-void gras_trp_buf_init_sock(gras_socket_t sock);
-
-
-/* Data exchange over raw sockets */
-xbt_error_t gras_socket_raw_exchange(gras_socket_t peer,
-                                     int sender,
-                                     unsigned int timeout,
-                                     unsigned long int expSize,
-                                     unsigned long int msgSize);
+gras_socket_t gras_trp_buf_init_sock(gras_socket_t sock);
 
 xbt_dynar_t gras_socketset_get(void); /* FIXME:KILLME */