Commit Graph

13532 Commits

Author SHA1 Message Date
3efaaa8859 Update changelog 2022-10-22 01:42:06 +02:00
8bbd54c521 Continue to ack incoming uTP data while finalizing the connection 2022-10-22 01:42:06 +02:00
cdd52b70a2 Fix sending ST_FIN packet while the socket is stalled
The send_pkt(pkt_fin) call in send_fin() will fail if the socket is currently stalled. This can be picked up once the socket becomes writable again.
2022-10-22 01:42:06 +02:00
4d578adc96 Fix uTP streams timing out instead of closing cleanly
In order to mark a ST_FIN packet as ack'd, maybe_inc_acked_seq_nr() needs to allow acked_seq_nr to reach seq_nr once in the fin-sent state. For this to work, the ST_FIN packet must also be stored in m_outbuf once sent.

Also, make sure that no further playload is picked up from the write buffer/nagled packet and sent out with the fin packet or any further acks as the sequence number should no longer be able to increase.
2022-10-22 01:42:06 +02:00
ff5174f37d Safe usage of strncpy 2022-10-21 14:02:11 +02:00
c5c0cb82f1 Fix for C bindings 2022-10-21 14:02:11 +02:00
b09d346bca update setup.py to match (sort of) RC_1_2 2022-10-21 10:11:21 +02:00
40a2f6fb41 prevent sending data on a uTP socket after closing it 2022-10-21 03:10:32 +02:00
247b9f89dd pre-commit autoupdate 2022-10-20 14:59:03 +02:00
44fd0b2514 use correct mirror for flake8 pre-commit hook 2022-10-20 14:59:03 +02:00
64bef76ea6 simplify integer_to_str 2022-10-17 07:47:40 +02:00
175fa33bdc bump version to 2.0.8 2022-10-16 21:29:23 +02:00
1d5edabd47 update set_version.py 2022-10-16 21:29:23 +02:00
a11a6479cc merged RC_1_2 into RC_2_0 2022-10-16 16:37:29 +02:00
6e17f5f042 fix m_bytes_in_flight invariant and packet counters in the event of the UDP socket stalling 2022-10-16 01:28:55 +02:00
227b34fc23 add uTP test exercising a stalled socket 2022-10-16 01:28:55 +02:00
0bd446f1bc fix parse_utp_log.py to work with python3 2022-10-16 01:28:55 +02:00
c83b8a8158 When using older boost versions, boost-system is a 'PUBLIC' link target. 2022-10-10 10:02:31 +02:00
69b8045d60 fix some disk-io counters. primarily num_read_back 2022-10-09 12:53:15 +02:00
5f6cfee933 add build configuration to simulate slow disk writes 2022-10-09 10:20:58 +02:00
db7002e4ef add write_torrent_file_buf() overload for generating .torrent files 2022-09-30 23:41:54 +02:00
9c4d073413 python binding for generate_buf() 2022-09-30 20:54:08 +02:00
b6d09d9368 add create_torrent::generate_buf() function to generate into a buffer 2022-09-30 20:54:08 +02:00
92c86aab99 Resend uTP acks that fail to send due to stalling 2022-09-28 22:26:28 +02:00
9002cc763f ensure python bindings and simulations build without deprecated functions on CI 2022-09-27 11:55:49 +02:00
e1460bc0c2 When the uTP socket stalls, mark failed packets for resend 2022-09-26 12:31:56 +02:00
3e3fc5864b fix copy_file when the file ends with a sparse region 2022-09-26 01:15:41 +02:00
1f356d0550 update try_signal submodule 2022-09-26 00:54:13 +02:00
4269b7be31 When the uTP socket stalls, mark failed packets for resend 2022-09-25 23:58:21 +02:00
17e3fc3464 add some utility member functions to create_torrent 2022-09-25 15:11:55 +02:00
8786d17e59 fix trackers being stuck after session pause/resume 2022-09-24 16:17:12 +02:00
c526c2997f update projects page 2022-09-23 19:33:08 +02:00
31cedce075 fix bug in hash_picker with empty files 2022-09-23 19:25:01 +02:00
e950d14775 fix uses of deprecated functions in simulations 2022-09-23 17:04:16 +02:00
700bba089f Update state when need to save resume data 2022-09-23 13:27:02 +02:00
ceeda1fcee fix flaky tests 2022-09-22 21:40:29 +02:00
831822c54e Update state when need to save resume data 2022-09-22 18:38:30 +02:00
fbb9185801 update documentation for torrent_handle::save_resume_data 2022-09-22 16:09:24 +02:00
c4231b42fc Update changelog 2022-09-21 13:00:02 +02:00
d57f7b69c3 Prevent redundant deferred utp acks from being sent 2022-09-21 13:00:02 +02:00
145135287a Don't drop uTP's cwnd below 1*MSS due to latency 2022-09-21 13:00:02 +02:00
e98b5f0027 Reset uTP timeout when sending packets
Also reset timeout after processing acks/sacks instead of before when recieving packets as it can effect the timeout period
2022-09-21 13:00:02 +02:00
dae0b5cf3c Modify the Nagle algorithm to allow one undersized packet in flight at a time 2022-09-21 13:00:02 +02:00
8716be3f38 For efficiency, pick up and send an undersized utp packet if there's room in the congestion window when 'forcing' a packet 2022-09-21 13:00:02 +02:00
5f8fa3e9f3 update changelog 2022-09-21 11:17:09 +02:00
e4de026c9a expose mmapped file_open_mode flag 2022-09-21 01:25:48 +02:00
db40e7a100 add option to not memory map files below a certain size 2022-09-21 01:25:48 +02:00
c1f1fc6318 settings_pack now returns default values when queried for missing settings. This is especially helpful in the way settings are used in set_piece_hashes(), which otherwise would use 0 and false for anything not specified in the settings_pack 2022-09-20 14:41:27 +02:00
9f8ccc44ea Don't drop uTP's cwnd below 1*MSS due to latency 2022-09-20 14:08:47 +02:00
183be22846 Reset uTP timeout when sending packets
Also reset timeout after processing acks/sacks instead of before when recieving packets as it can effect the timeout period
2022-09-20 14:08:47 +02:00