[PATCH 2 of 2] keepalive: set buffering=True to do more efficient reads of headers

Kyle Lippincott spectral at google.com
Fri Jun 2 19:03:48 EDT 2017


# HG changeset patch
# User Kyle Lippincott <spectral at google.com>
# Date 1496437706 25200
#      Fri Jun 02 14:08:26 2017 -0700
# Node ID daeaaad7839bb72ab48a09638ee4f1e8a089ca9d
# Parent  80511f08c101eae26b774a9759da271807e4bf0b
keepalive: set buffering=True to do more efficient reads of headers

Support for buffering was added to python in d09d6fe31b61, first released with
python2.7.  Without this, the entirety of the response headers is read
byte-by-byte (it does more efficient reads when it gets to the non-header part
of the response).

diff --git a/mercurial/keepalive.py b/mercurial/keepalive.py
--- a/mercurial/keepalive.py
+++ b/mercurial/keepalive.py
@@ -354,7 +354,8 @@
 
     def __init__(self, sock, debuglevel=0, strict=0, method=None):
         httplib.HTTPResponse.__init__(self, sock, debuglevel=debuglevel,
-                                      strict=True, method=method)
+                                      strict=True, method=method,
+                                      buffering=True)
         self.fileno = sock.fileno
         self.code = None
         self._rbuf = ''


More information about the Mercurial-devel mailing list