Diff
Not logged in

Differences From:

File src/xfer.c part of check-in [bb3a25e2f0] - Add a configuration option to the Setup/Access page that allows the user to set the xfer download limit. Increase the default xfer download limit to 5 million bytes. Increase the minimum phantom request limit from 100 to 200. by drh on 2008-01-31 22:04:42. Also file src/xfer.c part of check-in [dbdc160161] - Merged with mainline. by aku on 2008-02-02 07:33:03. [view]

To:

File src/xfer.c part of check-in [0afb5e8e39] - This version is able to clone the entire TCL repository in 12.5 minutes and to rebuild the cloned TCL repository in 2.5 minutes. There is still a lot of performance work to be done, but this is good enough for the time being. by drh on 2008-03-08 14:52:56. [view]

@@ -771,15 +771,16 @@
     }
 
     /* Exchange messages with the server */
     nFileSend = xfer.nFileSent + xfer.nDeltaSent;
-    printf("Send:      %10d bytes, %3d messages, %3d files (%d+%d)\n",
+    printf("Sent:      %10d bytes, %4d messages, %4d files (%d+%d)\n",
             blob_size(&send), nMsg+xfer.nGimmeSent+xfer.nIGotSent,
             nFileSend, xfer.nFileSent, xfer.nDeltaSent);
     nMsg = 0;
     xfer.nFileSent = 0;
     xfer.nDeltaSent = 0;
     xfer.nGimmeSent = 0;
+    fflush(stdout);
     http_exchange(&send, &recv);
     blob_reset(&send);
 
     /* Begin constructing the next message (which might never be
@@ -799,8 +800,11 @@
       if( blob_buffer(&xfer.line)[0]=='#' ){
         continue;
       }
       xfer.nToken = blob_tokenize(&xfer.line, xfer.aToken, count(xfer.aToken));
+      nMsg++;
+      printf("\r%d", nMsg);
+      fflush(stdout);
 
       /*   file UUID SIZE \n CONTENT
       **   file UUID DELTASRC SIZE \n CONTENT
       **
@@ -819,9 +823,8 @@
       if( blob_eq(&xfer.aToken[0], "gimme")
        && xfer.nToken==2
        && blob_is_uuid(&xfer.aToken[1])
       ){
-        nMsg++;
         if( pushFlag ){
           int rid = rid_from_uuid(&xfer.aToken[1], 0);
           send_file(&xfer, rid, &xfer.aToken[1], 0);
         }
@@ -839,9 +842,8 @@
        && blob_eq(&xfer.aToken[0], "igot")
        && blob_is_uuid(&xfer.aToken[1])
       ){
         int rid = 0;
-        nMsg++;
         if( pullFlag || cloneFlag ){
           if( !db_exists("SELECT 1 FROM blob WHERE uuid='%b' AND size>=0",
                 &xfer.aToken[1]) ){
             rid = content_put(0, blob_str(&xfer.aToken[1]), 0);
@@ -868,9 +870,8 @@
       ){
         if( blob_eq_str(&xfer.aToken[1], zSCode, -1) ){
           fossil_fatal("server loop");
         }
-        nMsg++;
         if( zPCode==0 ){
           zPCode = mprintf("%b", &xfer.aToken[2]);
           db_set("project-code", zPCode, 0);
         }
@@ -921,9 +922,9 @@
       }
       blobarray_reset(xfer.aToken, xfer.nToken);
       blob_reset(&xfer.line);
     }
-    printf("Received:  %10d bytes, %3d messages, %3d files (%d+%d+%d)\n",
+    printf("\rReceived:  %10d bytes, %4d messages, %4d files (%d+%d+%d)\n",
             blob_size(&recv), nMsg,
             xfer.nFileRcvd + xfer.nDeltaRcvd + xfer.nDanglingFile,
             xfer.nFileRcvd, xfer.nDeltaRcvd, xfer.nDanglingFile);