Commit Graph

2300 Commits

Author SHA1 Message Date
Kevin F
93fc1827b5 Added remaining stem choice test cases 2022-05-10 09:29:28 -05:00
Kevin F
3a26d053fe Gossip client tests, fixed delayed threads 2022-05-09 12:38:03 -05:00
Kevin F
7b7d6a03d3 Ignore broken pipes when streaming blocks in the gossip client 2022-05-05 22:31:05 -05:00
Kevin F
50f0cfa6f4 Added basic streamblocks test, slight fixes for streamblocks 2022-05-05 00:07:58 -05:00
Kevin F
91df7507f4 db set_if_new returns bool on if a new key was set or not and doesn't raise duplicate exception 2022-05-05 00:05:53 -05:00
Kevin F
c065be0145 Fix blockdb has_block not having block path 2022-05-05 00:04:37 -05:00
Kevin F
4edbde82cc Added example plugin that tests block insertion 2022-05-01 16:06:32 -05:00
Kevin F
1b37264eb7 Work on gossip tests and cleaned up api server some 2022-05-01 00:45:26 -05:00
Kevin F
e6b61c5f59 Added put block test (1 block) 2022-04-24 15:19:39 -05:00
Kevin F
ca2344c72c Added peer announce and exchange tests 2022-04-23 00:41:57 -05:00
Kevin F
237cdde4e5 Added peer exchange test (passing) 2022-04-20 00:28:29 -05:00
Kevin F
6a6460ef31 Added testing of streaming multiple blocks from gossip peer 2022-04-16 12:55:01 -05:00
Kevin F
4caee50ce7 Remove dead neighbor closeness benchmark 2022-04-16 12:49:42 -05:00
Kevin F
a61cd273a8 Implemented basic server diffusal test 2022-04-05 01:17:40 -05:00
Kevin F
c7ba974264 Block diffusal mostly done 2022-04-04 00:48:30 -05:00
Kevin F
9d2c2641f4 Block diffusal mostly done 2022-04-03 01:16:58 -05:00
Kevin F
996bff267b Work on normal gossip diffusion 2022-03-30 01:13:42 -05:00
Kevin F
dae99dc2f7 Work on normal gossip diffusion 2022-03-28 00:13:36 -05:00
Kevin F
5858b0aca3 updated readme 2022-03-28 00:13:03 -05:00
Kevin F
df02bdb826 Work on normal gossip diffusion 2022-03-26 18:26:55 -05:00
Kevin F
c215d4decd Work on normal gossip diffusion 2022-03-26 18:24:40 -05:00
Kevin F
b07c176f5c Refactored gossip peer set, gossip block queues, and dandelionphase to use singleton/module instances instead of being passed around 2022-03-21 01:03:53 -05:00
Kevin F
9c44069248 Misc bug fixes for gossip 2022-03-20 18:05:44 -05:00
Kevin F
5b5e5ef764 Don't bother to check if tor address in bootstrap list ends in .onion, it always shouldn't 2022-03-20 13:00:33 -05:00
Kevin F
fd9e6f5ede Dandelion phases now have IDs so it can be known more easily if an epoch elapsed 2022-03-20 13:00:04 -05:00
Kevin F
8b2b6a613e corrected remaining_time being used as atter when resting during end op remaining time in dandelion client loop 2022-03-20 12:56:36 -05:00
Kevin F
be1dde95a6 Corrected type hinting for block queues and peer sets 2022-03-20 12:54:57 -05:00
Kevin F
9ef6f46a5c Implemented do_stem_stream to stem blocks for dandelion++ 2022-03-20 12:53:40 -05:00
Kevin F
e985966e7c Turned dandelion stem into a module and corrected use of wait_for 2022-03-20 12:52:58 -05:00
Kevin F
f740d475c4 Specify that Onionr's pid is a pid in log 2022-03-20 12:51:54 -05:00
Kevin F
a53c31fda7 peer.get_socket implementations now must take timeout arg used for initial connection 2022-03-20 12:51:25 -05:00
Kevin F
511803f565 update readme to reflect current state of development 2022-03-20 12:50:19 -05:00
Kevin F
1b77c60346 Remove todo.txt and replace with ROADMAP.md 2022-03-20 12:48:27 -05:00
Kevin F
568a192c97 Fix license docstring boilerplate spacing 2022-03-17 19:56:31 -05:00
Kevin F
2544579363 updated readme to reflect current work 2022-03-16 00:57:05 -05:00
Kevin F
6c2b1e49a2 Implemented dandelion stemout stream building 2022-03-14 10:04:28 -05:00
Kevin F
9bf16c5758 Work on stemout 2022-03-13 00:35:22 -06:00
Kevin F
19159ffa06 Work on stemout 2022-03-12 19:28:18 -06:00
Kevin F
4c54677387 Use tuple of queues for block queues instead of list for clarity that queues cannot be added 2022-03-11 11:15:18 -06:00
Kevin F
747b7d70a8 Added ordered_set dependency so we can pick from gossip peer set more efficiently 2022-03-11 10:55:33 -06:00
Kevin F
fefec8bdc8 added block store function used when not in stem phase 2022-03-10 01:10:13 -06:00
Kevin F
9d17c7bd64 Implemented server dandelion++ stem portion 2022-03-04 18:05:12 -06:00
Kevin F
17b268d9e4 lots of work on gossip 2022-03-02 07:29:59 -06:00
Kevin F
4f3da58a60 Only 1 command per peer connection should be handled 2022-02-27 13:36:39 -06:00
Kevin F
1a7ce7d386 Try mulitiple times and log an error if we can't bootstrap to anyone 2022-02-27 13:36:02 -06:00
Kevin F
44f6b90777 When checking for peer online to add to peer pool, make sure it closes and avoid attempting if its already in the pool 2022-02-27 13:34:16 -06:00
Kevin F
5337b0aba4 bootstrap logic separated out of plugin and announcement logic mostly completed 2022-02-26 01:07:18 -06:00
Kevin F
34f9ffbf6b Made peers hashable and comparable for their use in the peer set 2022-02-26 01:06:17 -06:00
Kevin F
8d394c76a7 Peer announcing client side done 2022-02-25 01:02:04 -06:00
Kevin F
df3568fc15 Scaffolding before implementing peer exchange logic 2022-02-24 01:03:50 -06:00