Commit Graph

463 Commits

Author SHA1 Message Date
Kevin F
421c6da25a Load and save tor peers 2022-05-30 19:52:03 -05:00
Kevin F
158178d6fc Don't spam tracebacks when sockets timeout 2022-05-20 10:13:12 -05:00
Kevin F
85626d6642 Removed close gossip command 2022-05-18 23:56:25 -05:00
Kevin Froman
0b4e264877 Dont accept peers too large 2022-05-15 21:54:14 -04:00
Kevin F
2be0175326 started get new peers test 2022-05-13 00:17:06 -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
237cdde4e5 Added peer exchange test (passing) 2022-04-20 00:28:29 -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
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
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
568a192c97 Fix license docstring boilerplate spacing 2022-03-17 19:56:31 -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
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
Kevin F
850468dc39 Scaffolding before implementing peer exchange logic 2022-02-23 11:47:01 -06:00
Kevin F
d6b1c98cbd Ping loop while brainstorming. 2022-02-22 14:34:19 -06:00
Kevin F
8eec2167c8 Tor can now initialize peers 2022-02-21 15:15:26 -06:00
Kevin F
d48af45210 better error handling in plugin importing 2022-02-18 14:40:00 -06:00
Kevin F
15875d26c6 Work on gossip system and tor transport 2022-02-16 23:58:04 -06:00