DORMANTno replies

[PATCH 2/3] fetch-pack: progressively use larger handshake windows

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:50:48
Subsystem: the rest · Maintainer: Linus Torvalds

The client has to dig the history deeper when more recent parts of its
history do not have any overlap with the server it is fetching from. Make
the handshake window exponentially larger as we dig deeper, with a
reasonable upper cap.

Signed-off-by: Junio C Hamano <redacted>
---
 * This uses rather simpleminded "double up to the limit".

 builtin/fetch-pack.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/builtin/fetch-pack.c b/builtin/fetch-pack.c
index 20e30f5..b4f34a2 100644
--- a/builtin/fetch-pack.c
+++ b/builtin/fetch-pack.c
@@ -219,10 +219,15 @@ static void send_request(int fd, struct strbuf *buf)
 }
 
 #define INITIAL_FLUSH 32
+#define LARGE_FLUSH 1024
 
 static int next_flush(int count)
 {
-	return INITIAL_FLUSH + count;
+	if (count < LARGE_FLUSH)
+		count <<= 1;
+	else
+		count += LARGE_FLUSH;
+	return count;
 }
 
 static int find_common(int fd[2], unsigned char *result_sha1,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help