Commit Graph

61 Commits

Author SHA1 Message Date
Prem Chaitanya Prathi 5aa11311f8
fix: use corrected connected peer count and add check to avoid crash (#1182) 2024-08-06 17:51:11 +05:30
Prem Chaitanya Prathi 76d8fd687d
fix: use total peers for pubsubTopic as out peers target (#1170) 2024-07-30 11:02:59 +05:30
Prem Chaitanya Prathi 8afeb529df
chore: change log levels (#1165) 2024-07-17 15:32:32 +05:30
richΛrd 7c13021a32
feat: use mesh peers instead of all peers for determining topic health (#1150) 2024-07-03 16:35:39 -04:00
Prem Chaitanya Prathi 19a47a1ac1
feat: modify peer-manager to consider relay target peers (#1135) 2024-06-26 06:18:44 +05:30
richΛrd ee33baa283
feat: online checker (#1125) 2024-06-25 11:28:04 -04:00
richΛrd 93331b483e
fix: do not write tcp port 0 and remove 100 chars length limit for multiaddresses (#1129) 2024-06-20 12:50:15 +05:30
Prem Chaitanya Prathi a06208321e
fix: add peer addresses on expiry if peer is discovered again (#1128) 2024-06-18 08:06:16 +05:30
richΛrd d2d2f5672e
chore: reduce peer score not found log noise (#1121) 2024-06-05 15:03:33 -04:00
richΛrd 349754056d
chore: upgrade to go1.21 (#1091) 2024-06-04 18:46:28 -04:00
Prem Chaitanya Prathi 269417c5e9
fix: crash noticed while adding existing peer that doesn't have an ENR (#1113) 2024-05-28 18:20:47 +05:30
Prem Chaitanya Prathi 8115ec7013
feat: changes for optimizing filter ping and improve filter resubscription (#1102) 2024-05-22 11:45:53 +05:30
Vit∀ly Vlasov 6e47bd1cf0
feat: filter subscription management and multiplexing (#1048)
Filter wrapper API that takes care of managing subscriptions and multiplex them onto a single data channel to be consumed by user. 

Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2024-05-15 13:03:59 +05:30
richΛrd e8dc887c6f
fix(peer-manager): use backoff only on connection errors (#1089) 2024-05-13 15:07:08 -04:00
richΛrd bc16421c74
feat: ping cache (#999) 2024-05-13 14:56:34 -04:00
richΛrd 28c2a2704a
feat: storeV3 client (#1028) 2024-05-03 12:07:03 -04:00
richΛrd 0260cfe954
fix(peer-manager): discovering peers should not lock the peer manager (#1084) 2024-04-15 08:33:23 -04:00
Roman Zajic 7d767c0105
fix: service slot test failure - regression (#1062) 2024-03-20 12:11:06 +08:00
Roman Zajic afa124e1ca
fix: service slot tests (#1058) 2024-03-18 20:12:36 +08:00
Roman Zajic 4b9e3635a2
chore: peermanager tests coverage improvement (#1035) 2024-03-18 16:22:20 +08:00
richΛrd 3074cdb11c
fix: verify if metadata exists before checking for shard mismatch (#1056) 2024-03-16 06:18:10 +05:30
richΛrd bdf44c0a23
fix(metadata): only verify peer metadata on relay (#1052) 2024-03-14 10:21:47 -04:00
Prem Chaitanya Prathi 4f232c40ca
feat: topic health reporting (#1027)
Co-authored-by: richΛrd <info@richardramos.me>
2024-02-08 15:24:58 +05:30
Prem Chaitanya Prathi b647314846
chore: add logs for peer connection backoff (#1018) 2024-01-30 17:20:35 +05:30
Prem Chaitanya Prathi 3be0edbf14
feat: support multiple peer selection for filter client (#1005) 2024-01-26 14:15:15 +05:30
Prem Chaitanya Prathi faf046e059
chore: bumped libp2p and pubsub to 0.32.2 and 0.10 respectively (#987)
Co-authored-by: Richard Ramos <info@richardramos.me>
2024-01-12 13:40:27 -04:00
richΛrd 82fc800b08
feat: parameterizable number of connections per IP (#994) 2024-01-08 15:05:21 -04:00
Prem Chaitanya Prathi adda1cfd6d
fix: handle existing static peer discovered with ENR that causes crash (#990) 2024-01-04 10:33:42 -04:00
Prem Chaitanya Prathi 4f8ed170fe
fix: ENR seq check to skip adding already existing peer (#978) 2024-01-03 06:35:23 +05:30
richΛrd c403388ec2
fix: remove extremely noisy logs (#956) 2023-12-11 11:46:23 -04:00
richΛrd 48ab9e6ce7
fix: number of connected peers per topic (#948) 2023-12-06 09:38:56 -04:00
richΛrd 6ab2cfb53b
fix: take into account the ENR seq to determine if a peer is new or not (#945) 2023-12-06 09:12:48 -04:00
Prem Chaitanya Prathi 9a30c78e1a
fix: add peer api to consider protocols passed (#903) 2023-11-15 20:09:09 +05:30
Prem Chaitanya Prathi 392558ec8e
fix: panic when discv5 is enabled while running service node (#897) 2023-11-14 16:47:49 +05:30
Prem Chaitanya Prathi a5ce5dfaa4
feat: update store client Query API for autosharding (#885) 2023-11-14 04:22:46 +05:30
Prem Chaitanya Prathi 3226def4cf
feat: On Demand Peer Discovery based on shard and service (#834)
* refactor discovery and common service to separate package to remove package inter-dependencies

* relay on-demand discovery ,use proto to enr field mapping

* chore: no need to dial discovered peers as peermanager already does that

* on demand discovery for service peers during peer selection

* identify supported protocols for discovered peers and add to service slots

* fix: tests to use proper static sharding topics

* fix: random selection with default pubsubTopic

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-11-07 22:43:19 +05:30
richΛrd 67d57a36b8
refactor: only log errors different from `ErrNoPeersAvailable` when selecting random peers. (#864)
Includes a minor refactor to not need to use pointers for the peerID
2023-11-03 12:13:38 -04:00
richΛrd c58d0f51e4
fix: race condition in peer connector / manager interaction (#837) 2023-10-25 21:25:56 -04:00
Richard Ramos 19ba25ffcb feat: metadata protocol 2023-10-20 20:30:23 -04:00
Prem Chaitanya Prathi 6955d01498
Update peer selection options for light protocols (#787)
* Update peer selection options for lightPush

* Update peer selection options for filter

* migrate peer selection functionality from peer manager

Co-authored-by: richΛrd <info@richardramos.me>

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-10-16 22:12:01 +05:30
Prem Chaitanya Prathi 47c961dcbb
feat: update lightpush API for autosharding (#774)
* feat: update lightpush API to make pubSubTopic optional as per autosharding

* Extract contentFilter and subscriptions out of filter to reuse in relay (#779)

* chore: extract contentFilter outside filter package

* chore: move subscription outside of filter so that it can be modified and reused for relay

* Feat: filter select peer for sharding (#783)

* update selectPeer to support pubsubTopic based selection
2023-09-29 10:43:25 +05:30
Prem Chaitanya Prathi 388f56b43f
feat: Sharded peer management - Relay (#764)
* feat: connect/disconnect to peers based on node topic sub/unsub

* feat: maintain healty relay connections per pubSubTopic

Co-authored-by: richΛrd <info@richardramos.me>

* chore: add config to limit peerstore capacity (#770)
2023-09-27 12:16:37 +05:30
richΛrd 003c90fba8
feat: force unreachability (#753)
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2023-09-20 12:24:16 +05:30
Prem Chaitanya Prathi 9b05d48318
Feat : handle dynamic peer topic sub unsub (#751)
* feat: handle dynamic peer join and leave a pubSub topic

Co-authored-by: richΛrd <info@richardramos.me>


---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-09-19 11:35:29 +05:30
harsh jain a650469fae
feat: use CommonService in peerConnector (#737)
* feat(CommonService): add channel and use commonService in discv5

* fix: add mutex to PushToChan

* fix: remove generic functionality

* feat: use CommonService in peerConnector

* fix: remove generic functionality

* nit: add error log
2023-09-19 07:39:39 +07:00
harsh jain a5f9ee5ad8
feat(CommonService): add channel and use commonService in discv5 (#735)
* feat(CommonService): add channel and use commonService in discv5

* fix: add mutex to PushToChan

* fix: remove generic functionality
2023-09-18 16:41:40 +07:00
Prem Chaitanya Prathi bfc3083fb1
feat: update WakuPeerStore to store pubSubTopics for a peer (#734)
* feat: update peerStore to store pubSubTopics a peer is linked to

* derive pubSubTopics from ENR

* New API to retrieve peers by shard information
2023-09-14 20:30:06 +05:30
Prem Chaitanya Prathi 8df69279ee
chore:remove duplicate declaration of relay protocol const (#736) 2023-09-14 14:06:08 +05:30
Richard Ramos dcc87cf24f chore(lint): adds `make lint-full` target and fixes some linting errors 2023-09-12 09:54:34 -04:00
Prem Chaitanya Prathi 092811658e
fix: changes as per review comments in #714 and fix test (#717) 2023-09-07 15:01:31 +05:30