Derrick Hammer
|
76755b4644
|
*Send all items to the peer we bootstrapped from if we have their connection
*Send all items to the peer we connect to in addPeerHandler only if we are already bootstrapped
*Extract item creation into private helpers
|
2022-12-17 11:03:29 -05:00 |
Derrick Hammer
|
e5b0c92dac
|
*Subtract us from the peer count in debug
|
2022-12-17 10:38:14 -05:00 |
Derrick Hammer
|
2465b80441
|
*Refactor bootstrap so for every peer we get, we will trigger a connection to it
*Move initial hello handshake to private method and remove us from the explicit peer list in case it was added via bootstrap
|
2022-12-17 10:15:24 -05:00 |
Derrick Hammer
|
705bb45515
|
*Add heartbeat check for every heartbeat received
|
2022-12-17 09:48:55 -05:00 |
Derrick Hammer
|
dc1c9a1f82
|
*Change heartbeat check to 1/4 the heartBeatInterval rate
|
2022-12-17 09:46:38 -05:00 |
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
|
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
|
4b13de8af1
|
*Fix log messages
|
2022-12-07 03:02:19 -05:00 |
Derrick Hammer
|
58252606a6
|
*Change logic to abort if the signature fails
|
2022-12-07 02:29:20 -05:00 |
Derrick Hammer
|
37ad6d304a
|
*Add loglevel with custom module logger
|
2022-12-07 01:06:29 -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
|
28eb7ac2d6
|
*Bug fix heartbeat math
|
2022-12-05 14:32:03 -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
|
8ecd021a1d
|
*Add heartbeat support to protocol
|
2022-12-05 06:59:46 -05:00 |
Derrick Hammer
|
9350daee68
|
*Prune graph on node disconnect
|
2022-11-27 02:12:21 -05:00 |
Derrick Hammer
|
b47502ac9d
|
*Set flag before event emit
|
2022-11-26 19:39:03 -05:00 |
Derrick Hammer
|
67bdf54e71
|
*bootstrapped flag needs to be set
|
2022-11-26 19:32:22 -05:00 |
Derrick Hammer
|
c4321d3026
|
*Pass id property, not variable
|
2022-11-26 18:48:00 -05:00 |
Derrick Hammer
|
3d77943112
|
*Ensure id is a buffer
|
2022-11-26 18:43:35 -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
|
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
|
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
|
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
|
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
|
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 |
Derrick Hammer
|
98ad784c8e
|
*Use dynamic type for opts
|
2022-11-16 12:27:53 -05:00 |
Derrick Hammer
|
4f08c07489
|
*Define constructor bag types
|
2022-11-16 12:15:51 -05:00 |
Derrick Hammer
|
73846a5eda
|
Revert "*Explicitly define protocol as a bag option"
This reverts commit cea5ba5131 .
|
2022-11-16 12:13:00 -05:00 |
Derrick Hammer
|
3b87e81c12
|
Revert "*Update bag structure"
This reverts commit e446466c2a .
|
2022-11-16 12:12:52 -05:00 |
Derrick Hammer
|
e446466c2a
|
*Update bag structure
|
2022-11-16 12:08:53 -05:00 |
Derrick Hammer
|
cea5ba5131
|
*Explicitly define protocol as a bag option
|
2022-11-16 12:04:56 -05:00 |
Derrick Hammer
|
3196947071
|
*Return shadow clone of data
|
2022-11-16 11:23:50 -05:00 |
Derrick Hammer
|
0016903687
|
*Change setData to a setter
|
2022-11-16 11:14:44 -05:00 |
Derrick Hammer
|
e4e18a8a55
|
*Add a getter for data
|
2022-11-16 11:11:57 -05:00 |
Derrick Hammer
|
c534be442c
|
*Make setData public
|
2022-11-16 10:48:09 -05:00 |