Commit Graph

73 Commits

Author SHA1 Message Date
Derrick Hammer 57d35e77fc
*Refactor so if we emit heart beat we treat it like we added a peer then set the timestamp after, in case the peer is disconnected on one side or to handle unknown unknowns 2022-12-16 09:34:14 -05:00
Derrick Hammer fbbc2a2e71
*Update dist 2022-12-07 03:02:32 -05:00
Derrick Hammer 4b13de8af1
*Fix log messages 2022-12-07 03:02:19 -05:00
Derrick Hammer 3d48ba8178
*Update dist 2022-12-07 02:29:59 -05:00
Derrick Hammer 58252606a6
*Change logic to abort if the signature fails 2022-12-07 02:29:20 -05:00
Derrick Hammer d65d33aa18
*Update dist 2022-12-07 01:06:49 -05:00
Derrick Hammer 37ad6d304a
*Add loglevel with custom module logger 2022-12-07 01:06:29 -05:00
Derrick Hammer 90aeec6802
*Update dist 2022-12-05 15:14:12 -05:00
Derrick Hammer 35c6a0e314
*Make heartbeat configurable with a default time of 15 seconds 2022-12-05 15:13:50 -05:00
Derrick Hammer 5b2d1a3c7c
*Skip self 2022-12-05 15:03:53 -05:00
Derrick Hammer 4d6f9a81d5
*Update dist 2022-12-05 14:32:15 -05:00
Derrick Hammer 28eb7ac2d6
*Bug fix heartbeat math 2022-12-05 14:32:03 -05:00
Derrick Hammer 09b0e25f6e
*Update dist 2022-12-05 14:15:37 -05:00
Derrick Hammer b4eaa6c0b6
*add basic change detection on heartbeat 2022-12-05 14:14:56 -05:00
Derrick Hammer 29478e9a5a
*Instead of disconnecting dead peers, just use an "online" property on the node graph, and filter out dead peers in _recalculate 2022-12-05 14:08:15 -05:00
Derrick Hammer 52a0e41ca2
*Update dist 2022-12-05 06:59:58 -05:00
Derrick Hammer 8ecd021a1d
*Add heartbeat support to protocol 2022-12-05 06:59:46 -05:00
Derrick Hammer c67bc2bba7
*Update dist 2022-11-27 02:12:36 -05:00
Derrick Hammer 9350daee68
*Prune graph on node disconnect 2022-11-27 02:12:21 -05:00
Derrick Hammer 1404c2b073
*Update dist 2022-11-26 19:39:22 -05:00
Derrick Hammer b47502ac9d
*Set flag before event emit 2022-11-26 19:39:03 -05:00
Derrick Hammer 8959c644e3
*Update dist 2022-11-26 19:32:39 -05:00
Derrick Hammer 67bdf54e71
*bootstrapped flag needs to be set 2022-11-26 19:32:22 -05:00
Derrick Hammer 1158bd72c6
*Update dist 2022-11-26 18:48:18 -05:00
Derrick Hammer c4321d3026
*Pass id property, not variable 2022-11-26 18:48:00 -05:00
Derrick Hammer dccdbbd13d
*Update dist 2022-11-26 18:43:59 -05:00
Derrick Hammer 3d77943112
*Ensure id is a buffer 2022-11-26 18:43:35 -05:00
Derrick Hammer 5eb86d6acd
*Update dist 2022-11-26 17:28:46 -05:00
Derrick Hammer e53b4eadda
*Check if we are bootstrapped and queue broadcast in removeItem like with addItem 2022-11-26 17:27:35 -05:00
Derrick Hammer 323530c4bc
*Update dist 2022-11-24 01:50:30 -05:00
Derrick Hammer 1910398d44
*Refactor test to use events/promises and not a timer
*Add tests for peerHasItem
2022-11-24 01:50:11 -05:00
Derrick Hammer 734a3640e3
*switch to b4a 2022-11-24 01:49:15 -05:00
Derrick Hammer 587739334a
*filter for peers in neighbors in _getBootstrapInfo 2022-11-24 01:48:00 -05:00
Derrick Hammer 48ceded78f
*Add item-added and item-removed events 2022-11-24 01:46:55 -05:00
Derrick Hammer 24b97d5288
*Add peerHasItem method 2022-11-24 01:46:34 -05:00
Derrick Hammer eab1d70df4
*Add connection to graph on addItem 2022-11-24 01:46:14 -05:00
Derrick Hammer 74773f12cd
*Update dist 2022-11-23 21:23:47 -05:00
Derrick Hammer 627736ea1a
*Change all_cache to allCache 2022-11-23 21:23:29 -05:00
Derrick Hammer 4f93d23b68
*Fix return type 2022-11-23 21:22:42 -05:00
Derrick Hammer 9bc97fa195
*Update dist 2022-11-23 20:39:45 -05:00
Derrick Hammer bae0efa3b0
*Major refactor to pivot cache design based on items, but store all items and peers as nodes in graph with a type, and update communication structs for it 2022-11-23 20:39:16 -05:00
Derrick Hammer eb57f87eb4
*Update dist 2022-11-19 20:36:15 -05:00
Derrick Hammer a7a3ac1d03
*Update class name 2022-11-19 20:35:55 -05:00
Derrick Hammer a1d826e376
*Ensure we are parsing the public key in hex format 2022-11-19 20:35:23 -05:00
Derrick Hammer 15b088f481
*Add timestamp checking to not store old data 2022-11-19 20:34:57 -05:00
Derrick Hammer 78f3edd71d
*Update dist 2022-11-19 19:54:04 -05:00
Derrick Hammer f529597a61
*Rename library to better reflect its purpose 2022-11-19 19:53:24 -05:00
Derrick Hammer 23e1644be9
*DEFAULT_ENCODING no longer needed 2022-11-19 19:50:53 -05:00
Derrick Hammer b43ec0b236
*Refactor and add peer methods 2022-11-19 19:50:11 -05:00
Derrick Hammer 3bad936cd4
*Refactor to use message signing and track with timestamps 2022-11-19 19:44:55 -05:00