Commit Graph

160 Commits

Author SHA1 Message Date
3fcfbc11a4
reduce includes and some scope
hopefully fixes the windows obj being too large
2024-07-15 16:38:33 +02:00
1efae931d1
better receiving transfer cleanup (reduces log spam) 2024-07-15 14:56:52 +02:00
0b2fa40cb9
lower rat on join
TODO: its indescriminate, only announce to fresh peers
2024-07-15 14:38:53 +02:00
489556e322
fix front access to empty array
and increase send timeout assert
2024-07-15 11:48:16 +02:00
10756e13ce
small fixes 2024-07-14 20:11:37 +02:00
74414d0999
re annouce with exponential back-off 2024-07-14 12:38:00 +02:00
bc5599a230
refactor sending transfers the same way as receiving 2024-07-13 13:52:43 +02:00
ca89e43a40
refactor extract chunk picker systems 2024-07-13 12:36:49 +02:00
dd04e6131a
transfer stats 2024-07-13 11:46:33 +02:00
31253f5708
tweak ft max numbers and add stats comp 2024-07-12 15:04:49 +02:00
eff25cb10b
meh 2024-07-12 14:42:13 +02:00
6e681aa3fd
light cca refator and expose some cca values to the outside 2024-07-12 13:14:24 +02:00
1d97dbe73d
rework bitset queue (worse) and send have_all instead (but better) 2024-07-10 15:47:33 +02:00
0e9b1b8877
add ext have all packet 2024-07-10 15:16:58 +02:00
f449cf623d
fix bitset sizecheck and send out bitsets the first time someone
announces participation
2024-07-10 12:27:19 +02:00
bee7de3fb7
sequential strat now respects ReadHeadHint 2024-07-10 11:26:47 +02:00
822b979286
object download prio, not set anywhere yet, but the code is there now 2024-07-10 11:13:57 +02:00
ef91ec14fc
explicit and better rng, remove junk and old code 2024-07-10 10:41:25 +02:00
699957f79a
more consistenly tag cp update and lower cooldown just in case 2024-07-09 14:45:00 +02:00
02d58928f4
small refactors 2024-07-09 11:40:01 +02:00
60e6f91541
cleanup old workaround code 2024-07-09 11:04:19 +02:00
92373d34f7
work around missing contact events (better now)
fix missing ft event on reset (oops)
hard assert sending transfers can not time out higher level
2024-07-09 11:00:59 +02:00
e0b278b168
hot fix 2024-07-08 18:46:26 +02:00
e5681b4ad5
rework chunk picker update logic and participation logic
disable most spammy log
2024-07-08 18:12:47 +02:00
79e3070422
better random init 2024-07-07 17:13:30 +02:00
bf1fa64973
chunk picker strategies 2024-07-07 16:49:31 +02:00
11dee5870c
fix round robin and reduce num empty spins to improve perf 2024-07-07 15:55:22 +02:00
fab3d42ee9
transfer time temporality buffer 2024-07-07 15:27:30 +02:00
269daaa764
work around missing contact events and properly clear on exit 2024-07-07 14:15:26 +02:00
ea945e6360
increase out number for 4 peers until proper sending per peer is implemented 2024-07-07 13:56:52 +02:00
b068819069
higher tickrate if open requests
(we expect an init soon and dont want to bounce around)
2024-07-07 13:21:59 +02:00
b64a4ae31c
better bitset print 2024-07-07 13:07:57 +02:00
266cddf816
properly account for open requests when determining how much to request 2024-07-07 12:45:23 +02:00
eaaf798661
clear receiving transfers
TODO: actually keep around for 2*delay, so missing packets can still be retransmitted
but this fixes perf issues
2024-07-07 11:07:31 +02:00
d19fc6ba30
new chunk picker, basically working
still needs work on the sending side and more bug fixes
2024-07-03 12:11:20 +02:00
613b183592
fix have bit packing 2024-07-03 11:03:26 +02:00
3fd6183c21
combined id refactor 2024-07-02 16:09:59 +02:00
92b3d1a5fb
more chunk picker prep 2024-07-02 15:52:25 +02:00
edf58b70f5
receiving count for peer 2024-07-02 14:54:08 +02:00
33560f8f8a
receiving transfers refactor 2024-06-30 14:03:06 +02:00
3286a7228c
more minor refactoring 2024-06-28 22:18:11 +02:00
b53e291c68
wip chunk picker (still unused) and a small refactor 2024-06-28 15:13:17 +02:00
27cade4dfe
track remote have and bitset 2024-06-25 21:09:46 +02:00
0b4041db7e
move bitset to util 2024-06-25 12:45:28 +02:00
e9e38db1d5
move self have_chunk to bitset 2024-06-25 12:08:17 +02:00
c8619561ec
refactor: move (object/content) components out 2024-06-24 16:42:23 +02:00
1b630bc07f
impl and test bitset util 2024-06-24 12:14:51 +02:00
ee2411b8e0
hack: send ft1_have every chunk we receive
produces unnecessary overhead, should be bundled
2024-06-23 15:12:31 +02:00
bc7417c1cd
add send fn for new packets (parse and send still untested) 2024-06-23 12:55:23 +02:00
3827733f08
and remove the old code 2024-06-23 12:31:01 +02:00
5400c13f88
copy the remaining implemented send funcions over 2024-06-23 12:14:02 +02:00
8972386971
send out pc1 announces for ft infohash
will eliminate the guesswork in the future
2024-06-23 10:17:48 +02:00
b27107af4c
start moving pkg sending to ngcext
wip, but working as far as its implemented
2024-06-23 10:14:03 +02:00
bcde244a3c
handle pc1 announce and reduce chance to sample random peer
(will remove random sample sometime in the future)
2024-06-22 17:01:52 +02:00
e9f22bc9ae
make ft1sha1 observe disconnects 2024-06-22 14:08:12 +02:00
c09f2e6f8f
ngcext: parse ft1_have, ft1_bitset, pc1_announce 2024-06-22 12:48:54 +02:00
0eb30246a8
small refactor and print in flight packages when timing out 2024-05-31 17:03:22 +02:00
c52ac19285
print window on done 2024-05-31 15:36:18 +02:00
1231e792a7
lift reduction increase threshold 2024-05-27 18:07:19 +02:00
319e754aff
rework time since reduction to only grow if cca is active, also start warm 2024-05-27 11:59:32 +02:00
a4201f4407
track timepoint of last update 2024-05-27 11:31:36 +02:00
57575330dd
port to file2, other minor improvements 2024-05-27 11:20:37 +02:00
eb2a19d8f3
hack replace content with improper use of objectstore 2024-04-29 11:55:11 +02:00
dfcb5dee97
adopt receivedby rename 2024-04-20 15:12:05 +02:00
0d40d1abaa
dont request from self 2024-04-15 11:48:17 +02:00
61b667a4aa
reserve memory to reduce number of allocations in hotspots
especially on the sender side
2024-03-16 11:30:55 +01:00
c03282eae8
actually fix the timeout for slow connections 2024-03-09 18:06:49 +01:00
5fd1f2ab84
fix missing virtual destructor and scale tranfer timeout with concurency 2024-03-05 16:48:58 +01:00
bccd04316a
tweak them numbers again 2024-02-04 20:04:36 +01:00
ccf66fb80c
update hex conv 2024-01-13 22:34:42 +01:00
ea032244e7
remote comps 2024-01-12 18:55:41 +01:00
0df0760c06
failing to send is now also a congestion event (hacky and only the first time we send data) 2024-01-11 00:48:57 +01:00
f02b03da7c
update to plugin 7 and refactor (should improve speed) 2024-01-07 17:23:06 +01:00
103f36f2d2
update to new ngc_events 2023-12-26 21:16:35 +01:00
ad918a3253
add random cap (1020-1220) and tighten cubic rate limit more 2023-12-15 15:31:32 +01:00
70cea0d219
small fixes 2023-12-13 19:38:55 +01:00
b0e2cab17a
limit the amount it can send in a single tick (speed boost :D) 2023-12-13 17:56:56 +01:00
0a53a76eb3
maybe filesystem::path can help us 2023-12-13 16:09:34 +01:00
5995059777
better error log + fix broken accept on file creation error 2023-12-13 15:45:36 +01:00
abf2645099
fix include order 2023-11-12 19:58:57 +01:00
7c16c54649
only decrease window on congestion if prev max window was not yet reached yet 2023-10-16 19:51:56 +02:00
a80e74065c
ignore requests for running transfers 2023-10-15 22:02:34 +02:00
77f21f01e9
extend the protocol to support larger data packets and set it to the new tox constants numbers 2023-10-11 03:00:03 +02:00
27fd9e688b
unread/read status 2023-09-30 00:27:01 +02:00
f28e79dcbc
fix missing include 2023-09-15 20:07:19 +02:00
7af5fda0a6
better filter and cubic fixes 2023-09-08 00:41:25 +02:00
f91780c602
filter simple packet drops by not counting the first 4 packets arriving out of order 2023-09-07 12:26:54 +02:00
1e6929c93b
only cound a ce once 2023-09-02 13:28:32 +02:00
81a353570b
more tweaking 2023-09-02 02:28:22 +02:00
070585ab3d
remeber the first sending transfer that could not send any packets and start there next iterate 2023-09-01 23:20:03 +02:00
ba8befbb2d
more fixes 2023-09-01 17:34:05 +02:00
a1a9bf886a
make cubic and flow more resilient 2023-09-01 15:51:28 +02:00
4ee5dd6ca5
cubic almost working, general fixes 2023-08-30 13:45:09 +02:00
0d49752c3e
cubic mostly working (simple), flow rtt seems funky ??? 2023-08-30 03:03:43 +02:00
d957f9496a
add and switch to flow only 2023-08-29 18:21:12 +02:00
f460d7b4a5
wip change ledbat and start cubic 2023-08-25 14:42:40 +02:00
475a99054f
fix size_t include missing 2023-08-24 18:06:26 +02:00
1c5f4f24a7
only allow 1 congestion event per rtt 2023-08-24 01:28:13 +02:00
95b55c3a4a
cca interface 2023-08-23 13:04:54 +02:00
2f9340b937
remap file after completion, clears ram 2023-08-22 21:13:09 +02:00