Commit Graph

79 Commits

Author SHA1 Message Date
Derrick Hammer a3c61e2b66
*Change casting 2022-12-17 09:07:03 -05:00
Derrick Hammer 225537fc39
*Refactor so every call to addPeerHandler, we only add if it's not there, vs aborting completely if in connectedTo. This will ensure we stay alive via heartbeats even in edge cases 2022-12-17 09:05:48 -05:00
Derrick Hammer dd21b0fa30
*Update dist 2022-12-16 13:56:06 -05:00
Derrick Hammer 35d6d7153e
*Increase default heartbeat to 1 minute 2022-12-16 11:32:16 -05:00
Derrick Hammer a3efcf130b
*Use bufId not id 2022-12-16 09:47:36 -05:00
Derrick Hammer 3c7501cc3f
*Use bufId not id 2022-12-16 09:46:30 -05:00
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