@@ -259,41 +259,48 @@
259 259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
260 260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
261 261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
262 262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
263 263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Send content over the wire.
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Returns whether sending was errant, i.e.,
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** the count of bytes written onto the wire does
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** not equal the size of the blob being sent.
264 267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- void transport_send(Blob *toSend){
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int transport_send(Blob *toSend){
266 269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *z = blob_buffer(toSend);
267 270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int n = blob_size(toSend);
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- transport.nSent += n;
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ size_t written = 0;
269 272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( g.urlIsSsh ){
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int sent;
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sent = fwrite(z, 1, n, sshOut);
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ written = fwrite(z, 1, n, sshOut);
272 274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fflush(sshOut);
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /* printf("sent %d of %d bytes\n", sent, n); fflush(stdout); */
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* printf("sent %d of %d bytes\n", (unsigned long) written, n); fflush(stdout); */
274 276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( g.urlIsHttps ){
275 277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef FOSSIL_ENABLE_SSL
276 278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int sent;
277 279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( n>0 ){
278 280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sent = ssl_send(0, z, n);
279 281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* printf("Sent %d of %d bytes\n", sent, n); fflush(stdout); */
280 282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sent<=0 ) break;
281 283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n -= sent;
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ written += sent;
282 285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
283 286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
284 287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( g.urlIsFile ){
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fwrite(z, 1, n, transport.pFile);
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ written = fwrite(z, 1, n, transport.pFile);
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* printf("written %d of %d bytes\n", (unsigned long) written, n); fflush(stdout); */
286 290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
287 291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int sent;
288 292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( n>0 ){
289 293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sent = socket_send(0, z, n);
290 294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* printf("Sent %d of %d bytes\n", sent, n); fflush(stdout); */
291 295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sent<=0 ) break;
292 296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
n -= sent;
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ written += sent;
293 298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
294 299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ transport.nSent += written;
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return (blob_size(toSend) != written);
295 302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
296 303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
297 304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
298 305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** This routine is called when the outbound message is complete and
299 306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** it is time to being recieving a reply.
300 307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!