[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r9165 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r9165 - gnunet/src/util |
Date: |
Sat, 17 Oct 2009 15:20:13 -0600 |
Author: grothoff
Date: 2009-10-17 15:20:13 -0600 (Sat, 17 Oct 2009)
New Revision: 9165
Modified:
gnunet/src/util/network.c
Log:
use nodelay for a MAJOR performance boost for GNUnet code
Modified: gnunet/src/util/network.c
===================================================================
--- gnunet/src/util/network.c 2009-10-17 20:58:41 UTC (rev 9164)
+++ gnunet/src/util/network.c 2009-10-17 21:20:13 UTC (rev 9165)
@@ -125,6 +125,23 @@
/**
+ * Disable delays when sending data via the socket.
+ * (GNUnet makes sure that messages are as big as
+ * possible already).
+ *
+ * @param h the socket to make non-delaying
+ */
+static void
+socket_set_nodelay (const struct GNUNET_NETWORK_Handle
+ *h)
+{
+ int value = 1;
+ setsockopt (h->fd, IPPROTO_TCP, TCP_NODELAY, &value, sizeof(value));
+}
+
+
+
+/**
* accept a new connection on a socket
*
* @param desc bound socket
@@ -170,6 +187,7 @@
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
"socket_set_inheritable");
#endif
+ socket_set_nodelay (ret);
return ret;
}
@@ -476,6 +494,8 @@
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
"socket_set_inheritable");
#endif
+ if (type == SOCK_STREAM)
+ socket_set_nodelay (ret);
return ret;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r9165 - gnunet/src/util,
gnunet <=