Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | open two simultaneous connections using two processesmultiprocess | tiptorrent development team | 2022-11-30 | 1 | -17/+40 |
| | |||||
* | remove file size check | tiptorrent development team | 2022-11-30 | 1 | -6/+0 |
| | | | | | | | | | | in preparation for multiprocessing. Each process downloads its own chunks, this check cannot be done unless there is a way to report each process the amount of bytes receives (via interprocess communication). Or simply use threads instead of process. | ||||
* | add tip_client_report() | tiptorrent development team | 2022-11-30 | 1 | -19/+26 |
| | |||||
* | store filename in struct tip_client | tiptorrent development team | 2022-11-30 | 1 | -28/+27 |
| | |||||
* | no need to calculate chunk size in every iteration | tiptorrent development team | 2022-11-30 | 1 | -1/+1 |
| | |||||
* | add tip_client_run() | Pablo Neira Ayuso | 2022-11-30 | 1 | -30/+42 |
| | |||||
* | remove redundant check | tiptorrent development team | 2022-11-30 | 1 | -4/+0 |
| | | | | should not ever happen. | ||||
* | avoid useless retries when a fatal error occursHEADv1.0.0master | Jose M. Guisado | 2022-09-29 | 1 | -3/+12 |
| | | | | | | | Adds "fatal" bool field to struct tip_client. Fatal is looked for when cli->error is set, if fatal is set then no retry is done and tiptorrent-client should terminate. | ||||
* | delete created file when fallocate fails | Jose M. Guisado | 2022-09-29 | 1 | -0/+12 |
| | |||||
* | keep client retries when tip_client_request_file fails | Jose M. Guisado | 2022-09-28 | 1 | -2/+2 |
| | | | | | | | | Keep client retry count when something goes wrong requesting file size (HEAD request). Fixes a bug where tiptorrent-client keeps sending HEAD requests indifinitely when something goes wrong at this stage. | ||||
* | replace posix_fallocate with fallocate | Jose M. Guisado | 2022-09-27 | 1 | -1/+2 |
| | | | | | | | | | | posix_fallocate does not return -1 for an error case. Replace posix_fallocate for fallocate which does return -1 when something goes wrong. See fallocate(2): On success, fallocate() returns zero. On error, -1 is returned and errno is set to indicate the error. | ||||
* | fix received data incorrect arithmetics | tiptorrent development team | 2022-02-12 | 1 | -1/+1 |
| | | | | | subtract HTTP header otherwise connection is closed before all data is received. | ||||
* | validate received bytes and expected file size | tiptorrent development team | 2022-02-12 | 1 | -0/+6 |
| | |||||
* | increase number of chunks to 64 | tiptorrent development team | 2022-02-10 | 1 | -1/+1 |
| | |||||
* | do not reset number of retries counter | tiptorrent development team | 2022-02-08 | 1 | -0/+3 |
| | |||||
* | clean up state on each retry | tiptorrent development team | 2022-02-08 | 1 | -9/+12 |
| | | | | Reset the client object after retrying connection to download file. | ||||
* | update statistics after successful download | tiptorrent development team | 2022-02-08 | 1 | -5/+5 |
| | |||||
* | fall back to server after reaching maximum number of retries | tiptorrent development team | 2022-02-08 | 1 | -1/+18 |
| | | | | | | | | Use the HTTP header field: X-Accept-Redirect: off to ask for a direct download from the server. | ||||
* | bail out after maximum number of retries | tiptorrent development team | 2022-02-08 | 1 | -3/+17 |
| | | | | | stop downloading remaining chunks if one is missing after the maximum number of retries. | ||||
* | missing close() on file on exit path | tiptorrent development team | 2021-12-23 | 1 | -0/+1 |
| | |||||
* | use fallocate() to store the chunks in the file | tiptorrent development team | 2021-12-23 | 1 | -15/+89 |
| | | | | | | | The client sends a HTTP HEAD request to the server to check that the file exists and to get the file size, then it calls open() to create the file and fallocate() to preallocate the bytes. The client calculates the offset based on the chunk number and it calls lseek(). | ||||
* | add helper function to connect and send HTTP request | tiptorrent development team | 2021-12-23 | 1 | -23/+33 |
| | |||||
* | fix download of very small files | tiptorrent development team | 2021-12-23 | 1 | -3/+0 |
| | | | | | If the first recv() call fully gets the HTTP header and the file chunk, then tip_client_get_hdr() returns 1 to enter the TIP_CLIENT_DONE state to finish. | ||||
* | rename POST redirect handler | tiptorrent development team | 2021-12-23 | 1 | -2/+2 |
| | |||||
* | rename HTTP GET handlers | tiptorrent development team | 2021-12-23 | 1 | -4/+4 |
| | |||||
* | rename TIP_CLIENT_NOTIFY_REDIRECT to TIP_CLIENT_POST_REDIRECT | tiptorrent development team | 2021-12-23 | 1 | -4/+4 |
| | |||||
* | rename TIP_CLIENT_RECEIVING_* states to TIP_CLIENT_GET_* | tiptorrent development team | 2021-12-23 | 1 | -7/+7 |
| | |||||
* | add retry logic | tiptorrent development team | 2021-10-02 | 1 | -2/+13 |
| | | | | | | - if the connection to server fails, retry 5 times, sleeping 5 seconds before each retry. - if the redirection fails, go back and request the chunk from the server again. | ||||
* | display progress message every 30 seconds | tiptorrent development team | 2021-09-29 | 1 | -1/+4 |
| | | | | to avoid bloating the logs | ||||
* | print progress message | tiptorrent development team | 2021-09-29 | 1 | -0/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Print a progress message to stdout: 0% (0 Mbytes/second) file.img.2 from 192.168.2.179:9999 29% (113 Mbytes/second) file.img.2 from 192.168.2.179:9999 59% (113 Mbytes/second) file.img.2 from 192.168.2.179:9999 88% (114 Mbytes/second) file.img.2 from 192.168.2.179:9999 100% (128 Mbytes/second) file.img.2 from 192.168.2.179:9999 0% (0 Mbytes/second) file.img.3 from 192.168.2.179:9999 29% (113 Mbytes/second) file.img.3 from 192.168.2.179:9999 58% (113 Mbytes/second) file.img.3 from 192.168.2.179:9999 88% (113 Mbytes/second) file.img.3 from 192.168.2.179:9999 100% (128 Mbytes/second) file.img.3 from 192.168.2.179:9999 0% (0 Mbytes/second) file.img.1 from 192.168.2.179:9999 29% (114 Mbytes/second) file.img.1 from 192.168.2.179:9999 59% (114 Mbytes/second) file.img.1 from 192.168.2.179:9999 88% (113 Mbytes/second) file.img.1 from 192.168.2.179:9999 100% (128 Mbytes/second) file.img.1 from 192.168.2.179:9999 0% (0 Mbytes/second) file.img.0 from 192.168.2.179:9999 29% (113 Mbytes/second) file.img.0 from 192.168.2.179:9999 59% (113 Mbytes/second) file.img.0 from 192.168.2.179:9999 88% (113 Mbytes/second) file.img.0 from 192.168.2.179:9999 100% (128 Mbytes/second) file.img.0 from 192.168.2.179:9999 OK. | ||||
* | fix connection closed by server | tiptorrent development team | 2021-09-26 | 1 | -1/+1 |
| | |||||
* | floating exception if download is too fast | tiptorrent development team | 2021-09-23 | 1 | -2/+2 |
| | | | | fix divide by zero if file download takes less than 1 second. | ||||
* | revisit error reporting | tiptorrent development team | 2021-09-20 | 1 | -7/+33 |
| | |||||
* | display failure stats on syslog | tiptorrent development team | 2021-09-19 | 1 | -2/+9 |
| | |||||
* | print stats to syslog | tiptorrent development team | 2021-09-19 | 1 | -1/+2 |
| | |||||
* | incorrect mbytes/second stats | tiptorrent development team | 2021-09-18 | 1 | -1/+3 |
| | | | | accumulate data from all file | ||||
* | report socket is connected, instead of connecting | tiptorrent development team | 2021-09-18 | 1 | -2/+2 |
| | |||||
* | incorrect loop break logic on error | tiptorrent development team | 2021-09-18 | 1 | -1/+1 |
| | |||||
* | fix connect error path | tiptorrent development team | 2021-09-18 | 1 | -6/+5 |
| | | | | Use syslog() and do not check for EINPROGRESS on the second connect() call. | ||||
* | display download rate in Mbytes/seconds | tiptorrent development team | 2021-09-18 | 1 | -1/+2 |
| | |||||
* | enable TCP keepalived | tiptorrent development team | 2021-09-18 | 1 | -0/+12 |
| | |||||
* | initial commit | tiptorrent development team | 2021-09-18 | 1 | -0/+440 |