From 6e2fee84f8524a2bc9795b482e6add2ac1f5aee9 Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Tue, 18 Jan 2011 14:59:59 +0200 Subject: [PATCH] http_server: enable write-buffering for TCP sockets When sending http data, we need to minimize the number of TCP packets. By enabling write-buffering, we can achieve that. However, we need to make sure that buffers will properly be flushed, not linger. Conflicts: bin/service/http_server.py bzr revid: p_christ@hol.gr-20110118125959-vk0gzx30bwykn18s --- bin/service/http_server.py | 2 ++ bin/service/websrv_lib.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/bin/service/http_server.py b/bin/service/http_server.py index f40e1df5ba8..e2ae90918b7 100644 --- a/bin/service/http_server.py +++ b/bin/service/http_server.py @@ -123,10 +123,12 @@ class HttpLogHandler: class MultiHandler2(HttpLogHandler, MultiHTTPHandler): _logger = logging.getLogger('http') + wbufsize = 32768 class SecureMultiHandler2(HttpLogHandler, SecureMultiHTTPHandler): _logger = logging.getLogger('https') + wbufsize = 32768 def getcert_fnames(self): tc = tools.config diff --git a/bin/service/websrv_lib.py b/bin/service/websrv_lib.py index a64a1371079..03b0032542b 100644 --- a/bin/service/websrv_lib.py +++ b/bin/service/websrv_lib.py @@ -481,6 +481,10 @@ class SecureMultiHTTPHandler(MultiHTTPHandler): except Exception: pass + def handle_one_request(self): + MultiHTTPHandler.handle_one_request(self) + self.wfile.flush() + import threading class ConnThreadingMixIn: """Mix-in class to handle each _connection_ in a new thread.