# HG changeset patch
# User Laman
# Date 2017-06-05 22:17:43
# Node ID 2adb8e927e34542ad2339dfa144c5b844b741383
# Parent  b052f27e1cbcba387557ed5d8d2ad7ee6f80ae4f

network benchmark

diff --git a/src/benchmark.py b/src/benchmark.py
--- a/src/benchmark.py
+++ b/src/benchmark.py
@@ -1,4 +1,6 @@
 from time import time
+import socket
+import threading
 
 from hashtree import HashTree
 
@@ -44,13 +46,73 @@ def lessSelectedRead():
 
 
 def shortSockets():
-	pass
+	def _server():
+		serverSock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+		serverSock.bind(("",12329))
+		serverSock.listen(1)
+
+		for i in range(10000):
+			sock, address = serverSock.accept()
+			with sock.makefile(mode="rb") as fr, sock.makefile(mode="wb") as fw:
+				fr.readline()
+			sock.shutdown(socket.SHUT_RDWR)
+			sock.close()
+		serverSock.close()
+
+	def _client():
+		for i in range(10000):
+			sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
+			sock.connect(("127.0.0.1", 12329))
+			with sock.makefile(mode="rb") as fr, sock.makefile(mode="wb") as fw:
+				fw.write(b"x"*4096+b"\n")
+				fw.flush()
+			sock.shutdown(socket.SHUT_RDWR)
+			sock.close()
+
+	s=threading.Thread(target=_server)
+	s.start()
+	c=threading.Thread(target=_client)
+	c.start()
+	s.join()
+	c.join()
 
 
 def longSockets():
-	pass
+	def _server():
+		serverSock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+		serverSock.bind(("",12330))
+		serverSock.listen(1)
+		sock, address = serverSock.accept()
+
+		with sock.makefile(mode="rb") as fr, sock.makefile(mode="wb") as fw:
+			for i in range(10000):
+				fr.readline()
+
+		sock.shutdown(socket.SHUT_RDWR)
+		sock.close()
+		serverSock.close()
+
+	def _client():
+		sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
+		sock.connect(("127.0.0.1", 12330))
+		with sock.makefile(mode="rb") as fr, sock.makefile(mode="wb") as fw:
+			for i in range(10000):
+					fw.write(b"x"*4096+b"\n")
+					fw.flush()
+		sock.shutdown(socket.SHUT_RDWR)
+		sock.close()
+
+	s=threading.Thread(target=_server)
+	s.start()
+	c=threading.Thread(target=_client)
+	c.start()
+	s.join()
+	c.join()
 
 
 # timeF(fullRead) # 85.40341448783875 s
 # timeF(selectedRead) # 6.774365186691284 s
 # timeF(lessSelectedRead) # 5.930811405181885 s
+
+# timeF(shortSockets) # 3.928339719772339 s
+# timeF(longSockets) # 0.15576839447021484 s
diff --git a/src/server.py b/src/server.py
--- a/src/server.py
+++ b/src/server.py
@@ -7,8 +7,8 @@ import config as conf
 
 
 class Connection:
-	def __init__(self,server_socket):
-		self.socket, address = server_socket.accept()
+	def __init__(self,serverSocket):
+		self.socket, address = serverSocket.accept()
 		log.info('Connected by {0}'.format(address))
 		fr=self.socket.makefile(mode="rb")
 		fw=self.socket.makefile(mode="wb")