added cmd_restart cmd_reload and cmd_die; added Socket.NoDelay setting to configurati...
[NeonServV5.git] / src / ClientSocket.c
index abf11a1945e0611006a54125947f0f5b223e9214..5fa795e30c028887bfdc7fdb3a4389c3b90f8e52 100644 (file)
@@ -22,6 +22,7 @@
 #include "WHOHandler.h"
 #include "HandleInfoHandler.h"
 #include "ssl.h"
+#include "ConfigParser.h"
 
 struct socket_list {
     struct ClientSocket *data;
@@ -169,6 +170,14 @@ int connect_socket(struct ClientSocket *client) {
     } else
         return 0;
     
+    if(get_int_field("Sockets.NoDelay")) {
+        int flag = 1;
+        if(setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int)) == -1) {
+            perror("setsockopt() failed");
+            return 0;
+        }
+    }
+    
     client->sock = sock;
     client->flags |= SOCKET_FLAG_CONNECTED | SOCKET_FLAG_RECONNECT;
     client->connection_time = time(0);