fetch-pack: progressively use larger handshake windows
[gitweb.git] / builtin / fetch-pack.c
index 1abe624dc8a850f63dfc814950c1aadab97e5fbb..b4f34a2cf93a8e0579ea183b644f558807df47e5 100644 (file)
@@ -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,