Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix several glitches, add a 'proc' field to the sockets. I want to know the name...
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 16 May 2006 20:02:03 +0000 (20:02 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 16 May 2006 20:02:03 +0000 (20:02 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2225 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/Transport/transport.c
src/gras/Transport/transport_interface.h
src/gras/Transport/transport_plugin_tcp.c
src/gras/Transport/transport_private.h

index 6025da7..4e76331 100644 (file)
@@ -162,6 +162,7 @@ void gras_trp_socket_new(int incoming,
   sock->port      = -1;
   sock->peer_port = -1;
   sock->peer_name = NULL;
+  sock->peer_proc = NULL;
 
   sock->data   = NULL;
   sock->bufdata = NULL;
@@ -274,7 +275,7 @@ gras_socket_client_ext(const char *host,
  */
 gras_socket_t
 gras_socket_server(unsigned short port) {
-   return gras_socket_server_ext(port,32,0);
+   return gras_socket_server_ext(port,32*1024,0);
 }
 
 /**
@@ -286,7 +287,7 @@ gras_socket_server(unsigned short port) {
 gras_socket_t
 gras_socket_client(const char *host,
                   unsigned short port) {
-   return gras_socket_client_ext(host,port,32,0);
+   return gras_socket_client_ext(host,port,32*1024,0);
 }
 
 
@@ -364,6 +365,13 @@ int   gras_socket_peer_port(gras_socket_t sock) {
 char *gras_socket_peer_name(gras_socket_t sock) {
   return sock->peer_name;
 }
+char *gras_socket_peer_proc(gras_socket_t sock) {
+  return sock->peer_proc;
+}
+
+void gras_socket_peer_proc_set(gras_socket_t sock,char*peer_proc) {
+  sock->peer_proc = peer_proc;
+}
 
 /** \brief Check if the provided socket is a measurement one (or a regular one) */
 int gras_socket_is_meas(gras_socket_t sock) {
index 388d5d4..202c9da 100644 (file)
@@ -25,6 +25,8 @@ void gras_trp_flush(gras_socket_t sd);
 /* Find which socket needs to be read next */
 gras_socket_t gras_trp_select(double timeout);
 
+/* Set the peer process name (used by messaging layer) */
+void gras_socket_peer_proc_set(gras_socket_t sock,char*peer_proc);
 
 /***
  *** Plugin mechanism 
index b360df0..25ce321 100644 (file)
@@ -306,7 +306,8 @@ gras_trp_tcp_recv_withbuffer(gras_socket_t sock,
       bufsize -= status;
       got     += status;
     } else {
-      THROW0(system_error,0,"Socket closed by remote side");
+      THROW1(system_error,0,"Socket closed by remote side (got %d bytes before this)",
+            got);
     }
   }
   return got;
index e3d0691..9555fbb 100644 (file)
@@ -47,6 +47,7 @@ typedef struct s_gras_socket  {
   int  port; /* port on this side */
   int  peer_port; /* port on the other side */
   char *peer_name; /* hostname of the other side */
+  char *peer_proc; /* process on the other side */
 
   void *data;    /* plugin specific data */