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

login
register
mail settings
Submitter via Mercurial-devel
Date June 2, 2017, 11:03 p.m.
Message ID <daeaaad7839bb72ab48a.1496444628@dragonair.svl.corp.google.com>
Download mbox | patch
Permalink /patch/21142/
State Accepted
Headers show

Comments

via Mercurial-devel - June 2, 2017, 11:03 p.m.
# HG changeset patch
# User Kyle Lippincott <spectral@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).

Patch

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 = ''