about summary refs log tree commit diff
path: root/src/engine/e_system.c
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-10 15:32:30 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-10 15:32:30 +0000
commit294cbe18c17cd20f70f965e7f89a3250ef39b990 (patch)
treedb942402bd39bfb8336e2a2d134f96f2ad5b2ab1 /src/engine/e_system.c
parentacffe66ebe63f3ecc970db0feab33a6e85a7d1f4 (diff)
downloadzcatch-294cbe18c17cd20f70f965e7f89a3250ef39b990.tar.gz
zcatch-294cbe18c17cd20f70f965e7f89a3250ef39b990.zip
done some more latency work. added the extra message for projectiles to reduce latency
Diffstat (limited to 'src/engine/e_system.c')
-rw-r--r--src/engine/e_system.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/engine/e_system.c b/src/engine/e_system.c
index 1472b3d6..ab7323f9 100644
--- a/src/engine/e_system.c
+++ b/src/engine/e_system.c
@@ -733,6 +733,28 @@ void swap_endian(void *data, unsigned elem_size, unsigned num)
 	}
 }
 
+int net_socket_read_wait(NETSOCKET sock, int time)
+{
+#if defined(CONF_FAMILY_WINDOWS)
+	#error Not implemented
+#else
+    struct timeval tv;
+    fd_set readfds;
+
+    tv.tv_sec = 0;
+    tv.tv_usec = 1000*time;
+
+    FD_ZERO(&readfds);
+    FD_SET(sock, &readfds);
+
+    /* don't care about writefds and exceptfds */
+    select(sock+1, &readfds, NULL, NULL, &tv);
+    if(FD_ISSET(sock, &readfds))
+    	return 1;
+    return 0;
+#endif
+}
+
 #if defined(__cplusplus)
 }
 #endif