Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | For clone and sync, report the correct network traffic totals even if those totals exceed 2 GiB. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
a9e05e23e9f085b35b1b0bc9350d6121 |
| User & Date: | drh 2010-12-20 02:14:00.000 |
Context
|
2010-12-20
| ||
| 12:49 | Get the --ignore option and ignore-glob setting working for the "clean" command. Ticket [0bc90d7235404d16]. check-in: f12a6962a7 user: drh tags: trunk | |
| 02:14 | For clone and sync, report the correct network traffic totals even if those totals exceed 2 GiB. check-in: a9e05e23e9 user: drh tags: trunk | |
| 02:02 | Abort a clone and delete the new repository if the server for the clone returns an error during the sync. check-in: f6263ed6ce user: drh tags: trunk | |
Changes
Changes to src/http_transport.c.
| ︙ | ︙ | |||
28 29 30 31 32 33 34 |
*/
static struct {
int isOpen; /* True when the transport layer is open */
char *pBuf; /* Buffer used to hold the reply */
int nAlloc; /* Space allocated for transportBuf[] */
int nUsed ; /* Space of transportBuf[] used */
int iCursor; /* Next unread by in transportBuf[] */
| | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
*/
static struct {
int isOpen; /* True when the transport layer is open */
char *pBuf; /* Buffer used to hold the reply */
int nAlloc; /* Space allocated for transportBuf[] */
int nUsed ; /* Space of transportBuf[] used */
int iCursor; /* Next unread by in transportBuf[] */
i64 nSent; /* Number of bytes sent */
i64 nRcvd; /* Number of bytes received */
FILE *pFile; /* File I/O for FILE: */
char *zOutFile; /* Name of outbound file for FILE: */
char *zInFile; /* Name of inbound file for FILE: */
} transport = {
0, 0, 0, 0, 0, 0, 0
};
|
| ︙ | ︙ | |||
62 63 64 65 66 67 68 | return socket_errmsg(); } /* ** Retrieve send/receive counts from the transport layer. If "resetFlag" ** is true, then reset the counts. */ | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
return socket_errmsg();
}
/*
** Retrieve send/receive counts from the transport layer. If "resetFlag"
** is true, then reset the counts.
*/
void transport_stats(i64 *pnSent, i64 *pnRcvd, int resetFlag){
if( pnSent ) *pnSent = transport.nSent;
if( pnRcvd ) *pnRcvd = transport.nRcvd;
if( resetFlag ){
transport.nSent = 0;
transport.nRcvd = 0;
}
}
|
| ︙ | ︙ |
Changes to src/xfer.c.
| ︙ | ︙ | |||
1122 1123 1124 1125 1126 1127 1128 | int nCycle = 0; /* Number of round trips to the server */ int size; /* Size of a config value */ int nFileSend = 0; int origConfigRcvMask; /* Original value of configRcvMask */ int nFileRecv; /* Number of files received */ int mxPhantomReq = 200; /* Max number of phantoms to request per comm */ const char *zCookie; /* Server cookie */ | | | 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 | int nCycle = 0; /* Number of round trips to the server */ int size; /* Size of a config value */ int nFileSend = 0; int origConfigRcvMask; /* Original value of configRcvMask */ int nFileRecv; /* Number of files received */ int mxPhantomReq = 200; /* Max number of phantoms to request per comm */ const char *zCookie; /* Server cookie */ i64 nSent, nRcvd; /* Bytes sent and received (after compression) */ int cloneSeqno = 1; /* Sequence number for clones */ Blob send; /* Text we are sending to the server */ Blob recv; /* Reply we got back from the server */ Xfer xfer; /* Transfer data */ int pctDone; /* Percentage done with a message */ int lastPctDone = -1; /* Last displayed pctDone */ double rArrivalTime; /* Time at which a message arrived */ |
| ︙ | ︙ | |||
1564 1565 1566 1567 1568 1569 1570 |
/* If this is a clone, the go at least two rounds */
if( cloneFlag && nCycle==1 ) go = 1;
/* Stop the cycle if the server sends a "clone_seqno 0" card */
if( cloneSeqno<=0 ) go = 0;
};
transport_stats(&nSent, &nRcvd, 1);
| | | 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 |
/* If this is a clone, the go at least two rounds */
if( cloneFlag && nCycle==1 ) go = 1;
/* Stop the cycle if the server sends a "clone_seqno 0" card */
if( cloneSeqno<=0 ) go = 0;
};
transport_stats(&nSent, &nRcvd, 1);
fossil_print("Total network traffic: %lld bytes sent, %lld bytes received\n",
nSent, nRcvd);
transport_close();
transport_global_shutdown();
db_multi_exec("DROP TABLE onremote");
manifest_crosslink_end();
content_enable_dephantomize(1);
db_end_transaction(0);
return nErr;
}
|