Commit Graph

139 Commits

Author SHA1 Message Date
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
f4796397ff
fix large files >4gig 2023-08-22 17:20:56 +02:00
bc09b5aa60
same as prev commit 2023-08-21 21:40:08 +02:00
968ae94848
did i tell you how much i hate windows before? 2023-08-21 21:32:50 +02:00
d2c2594a77
use memory mapped file_rw for easy random access (fixes bugs too) 2023-08-21 21:23:13 +02:00
b9267c1c6f
hack: add mio 8b6b7d878c89e81614d05edca7936de41ccdd2da
single header file only
2023-08-21 20:50:25 +02:00
bb3f907cd8
very hacky async hashing and message creation 2023-08-21 00:01:14 +02:00
ab3c282060
more include fixes 2023-08-19 23:12:29 +02:00
50a7172ad3
missing includes 2023-08-19 23:01:48 +02:00
b28a0acca3
fix includes 2023-08-19 22:50:52 +02:00
89d8d728ff
after 2 weeks of porting over the ngc_ft1 code to solanaceae and rewriting the highlevel logic
(29 commits predate this)
2023-08-19 22:37:55 +02:00