Arceliar
|
38093219fd
|
dimensionless way to track how often nodes are faster than the current parent
|
2018-12-02 14:46:58 -06:00 |
|
Arceliar
|
e9cff0506c
|
comment the switch a little better and limit how much uptime can affect which peer is used as a parent
|
2018-11-19 21:30:52 -06:00 |
|
Arceliar
|
3dbffae99f
|
add search for successor, via parent, to the dht maintenance cycle
|
2018-10-20 19:09:25 -05:00 |
|
Neil Alexander
|
1d00131416
|
Hopefully fix a concurrent map read-write when removing peers
|
2018-10-08 22:09:55 +01:00 |
|
Neil Alexander
|
69cd736112
|
Show queue capacity in getSwitchQueues
|
2018-09-27 16:19:47 +01:00 |
|
Neil Alexander
|
0b1a6611fd
|
Identify switchport for queue based on coords in stream ID
|
2018-09-27 15:05:45 +01:00 |
|
Neil Alexander
|
8113b4cc22
|
Update comments
|
2018-09-27 14:20:52 +01:00 |
|
Neil Alexander
|
b530916044
|
Show information about individual active queues
|
2018-09-27 12:14:55 +01:00 |
|
Neil Alexander
|
f57567ea56
|
Add getSwitchQueues
|
2018-09-27 10:53:19 +01:00 |
|
Arceliar
|
9cbcaf39ac
|
Use coords for queue stream IDs in the switch, and append protocol/port information to coords when sending, to designate different streams
|
2018-07-21 18:59:29 -05:00 |
|
Arceliar
|
ba4047b51a
|
correctly update buffer sizs when buffers overflow, and returned freed packets to the byte store
|
2018-07-06 17:27:04 -05:00 |
|
Arceliar
|
ad5dc9ea87
|
Drop 1 packet instead of a whole queue when overflowing
|
2018-07-06 00:55:00 -05:00 |
|
Arceliar
|
e6a47f705d
|
when dropping a queue, select one at random based on queue size in bytes
|
2018-07-06 00:11:36 -05:00 |
|
Arceliar
|
1a65c065d0
|
prioritize sending from small queues that have been blocked for a long time
|
2018-07-05 23:56:37 -05:00 |
|
Arceliar
|
7da4967f5e
|
Limit maximum queue size to 4 MB
|
2018-07-05 23:39:41 -05:00 |
|
Arceliar
|
a7c8be4d69
|
base backpressure decisions on queue size in bytes, instead of packet counts
|
2018-07-05 23:07:01 -05:00 |
|
Arceliar
|
b63b534fa7
|
drop packets that have been queued for longer than some timeout (currently 25ms) instead of using fixed length queues
|
2018-06-25 18:12:18 -05:00 |
|
Arceliar
|
7695a3fcbf
|
try using a simpler FIFO order for each backpressure buffer, since there are other mechanisms to penalize the flooding node, leads to better TCP throughput without affecting traffic between other nodes (does affect traffic in the same session, but there's hypothetically workarounds to that)
|
2018-06-24 20:20:07 -05:00 |
|
Arceliar
|
4ad2446557
|
cleanup
|
2018-06-24 18:21:00 -05:00 |
|
Arceliar
|
03949dcf3f
|
fix my terrible bug, I have no idea why the old one even worked
|
2018-06-24 18:05:00 -05:00 |
|
Arceliar
|
9c028e1d0d
|
switch to a separate queue per stream of traffic, FIXME for some reason this makes distance calculations more expensive in handleIdle?
|
2018-06-24 17:39:43 -05:00 |
|
Arceliar
|
189628b381
|
cleanup
|
2018-06-23 23:55:27 -05:00 |
|
Arceliar
|
0ad801bcfe
|
more work on backpressure, but still needs more testing
|
2018-06-23 23:33:03 -05:00 |
|
Arceliar
|
4b83efa218
|
more backpressure work, still needs testing
|
2018-06-23 21:51:32 -05:00 |
|
Arceliar
|
52a0027aea
|
switch refactoring, setup for a better approximation of local backpressure
|
2018-06-23 20:59:26 -05:00 |
|
Arceliar
|
988f4ad265
|
add a dedicated switch worker and start using it for lookups
|
2018-06-23 19:08:32 -05:00 |
|
Arceliar
|
7fe038f87e
|
prevent parent nodes from forcing coord oscillation, have dht.handleRes clean up the old request info immediately
|
2018-06-14 12:32:18 -05:00 |
|
Arceliar
|
b006748da4
|
code cleanup
|
2018-06-12 17:50:08 -05:00 |
|
Arceliar
|
56802d569e
|
minor documentation updates, code comments, and a couple of bugfixes that I noticed when going through the code to comment it
|
2018-06-10 18:03:28 -05:00 |
|
Arceliar
|
1dcc60f054
|
check root before accepting that a message is good and unblocking a new peer
|
2018-06-08 17:33:16 -05:00 |
|
Arceliar
|
bced15b138
|
remove TTL from traffic packets
|
2018-06-07 20:29:22 -05:00 |
|
Arceliar
|
84c13fac90
|
don't use TTL
|
2018-06-07 20:18:13 -05:00 |
|
Arceliar
|
bcfeb22915
|
more tcp debugging
|
2018-06-07 16:49:51 -05:00 |
|
Arceliar
|
d468882147
|
cleanup
|
2018-06-07 14:24:02 -05:00 |
|
Arceliar
|
f8ba80e7d8
|
remove old switchMessage and clean up related code
|
2018-06-07 14:13:31 -05:00 |
|
Arceliar
|
00e4da28c7
|
use/store switchMsg in the switch instead of going through the old switchMessage
|
2018-06-07 13:56:11 -05:00 |
|
Arceliar
|
3dab94be9f
|
keep dht peers alive
|
2018-06-07 10:58:24 -05:00 |
|
Arceliar
|
ecf37cae8a
|
make the switch react to peer coord changes immediately, and send out updates immediately
|
2018-06-07 00:16:47 -05:00 |
|
Arceliar
|
85afe187ff
|
remove peer timeout logic from the switch, so switch peer entrires are only removed when the peer struct is removed
|
2018-06-06 23:23:16 -05:00 |
|
Arceliar
|
3b783fbf97
|
move periodic switch maintenance into the router instead of its own goroutine
|
2018-06-06 23:10:33 -05:00 |
|
Arceliar
|
bbae9ff8e8
|
Merge pull request #92 from Arceliar/backpressure
Use backpressure instead of estimated bandwidth
|
2018-06-06 16:58:48 -05:00 |
|
Neil Alexander
|
4c115de633
|
De-debug
|
2018-05-27 22:13:37 +01:00 |
|
Arceliar
|
38e7704161
|
use backpressure instead of estimated bandwidth, sorted by uptime to break ties
|
2018-05-27 13:37:35 -05:00 |
|
Arceliar
|
d98640fd59
|
switch cleanup
|
2018-05-16 17:48:53 -05:00 |
|
Arceliar
|
8228242eed
|
misc dht and tree changes to stabilize coords and bootstrap the dht faster
|
2018-05-15 23:57:00 -05:00 |
|
Arceliar
|
71150fcb86
|
ignore root tstamp updates if we just updated, to throttle the rate at which updates (and new signatures) can propagate
|
2018-02-17 23:57:24 -06:00 |
|
Arceliar
|
0fc7401635
|
check root before adding peers to the switch lookupTable, instead of during each lookup
|
2018-02-17 23:14:23 -06:00 |
|
Arceliar
|
c18d863a3e
|
update comments, mostly TODO/FIXME notes
|
2018-01-26 17:30:51 -06:00 |
|
Arceliar
|
f929df1ea9
|
minor performance adjustments
|
2018-01-18 18:48:34 -06:00 |
|
Neil Alexander
|
b3ebe76b59
|
Run gofmt -s -w .
|
2018-01-04 22:37:51 +00:00 |
|
Arceliar
|
d7e6d814a0
|
first code/readme/license commit
|
2017-12-28 22:16:20 -06:00 |
|