gabrielmer
a60f0c5532
feat: adding onValidated observer ( #1128 )
...
### Description
Adding an `onValidated` observer which will run every time a message is
received and validated. This comes from the necessity of precisely track
message deliveries and network activity.
`onRecv` observers run before any check is performed on the received
message, which means that it runs every time a duplicate or invalid
message arrives, which is inefficient and inaccurate for our purpose of
tracking only received, unique and valid messages. Therefore, adding
this extra option of running an observer for every message after all
validation checks pass.
2024-08-01 18:50:13 +03:00
diegomrsantos
2195313dba
feat: iDontWant is sent only for gossipsub 1.2 or higher ( #1135 )
2024-06-25 19:32:08 +02:00
diegomrsantos
7498258f7c
fix(gossipsub): pubsubpeer is created with wrong gossipsub version ( #1116 )
2024-06-13 12:25:48 +02:00
diegomrsantos
96bfefc928
feat(gossipsub): support version 1.2.0 ( #1106 )
2024-06-12 15:46:47 +02:00
diegomrsantos
dc83a1e9b6
chore(formatting): format the whole codebase using nph 0.5.1 ( #1118 )
2024-06-11 17:18:06 +02:00
Jacek Sieka
8a4e8a00a2
Send IDONTWANT before validating message ( #1103 )
2024-06-03 10:34:05 +02:00
kaiserd
0911cb20f4
chore(gossipsub): cleanups ( #1096 )
2024-05-15 18:57:15 +02:00
Jacek Sieka
aef44ed1ce
salt `idontwant` ( #1090 )
2024-05-02 12:18:55 +02:00
Jacek Sieka
02c96fc003
Improve memory efficiency of seen cache ( #1073 )
2024-05-01 18:38:24 +02:00
diegomrsantos
89cad5a3ba
fix: remove explicit param from GossipSubParams constructor ( #1080 )
2024-04-09 20:14:59 +02:00
diegomrsantos
bb97a9de79
improvement: create a new gossipsub constructor ( #1078 )
2024-03-27 11:54:15 +01:00
diegomrsantos
1a707e1264
feat: add max number of elements to non-prio queue ( #1077 )
2024-03-25 22:00:11 +01:00
Álex Cabeza Romero
458b0885dd
fix(issue-1052): Single topic for RPC Message ( #1061 )
2024-03-25 12:06:34 +01:00
Jacek Sieka
a2027003cd
Avoid unnecessary rate limit message copy ( #1067 )
2024-03-21 13:11:40 +00:00
Etan Kissling
48a3ac06ff
`{.async: (raises).}` for `MultistreamSelect` ( #1066 )
2024-03-12 21:05:53 +01:00
Jacek Sieka
ae13a0d583
Send priority with queue fix ( #1051 )
...
Co-authored-by: Diego <diego@status.im>
2024-03-05 15:05:21 +00:00
Diego
c5e4f8e12d
Revert "feat: message prioritization with immediate peer-published dispatch and queuing for other msgs ( #1015 )"
...
This reverts commit fe4ff79885
.
2024-02-19 13:47:37 +01:00
diegomrsantos
fe4ff79885
feat: message prioritization with immediate peer-published dispatch and queuing for other msgs ( #1015 )
2024-02-16 10:54:16 +01:00
diegomrsantos
5594bcb33e
fix: more metrics issues when libp2p_expensive_metrics is enabled ( #1016 )
2024-01-30 16:55:55 +01:00
diegomrsantos
d46bcdb6ac
fix: compilation issue when `libp2p_expensive_metrics` is enabled. ( #1014 )
2024-01-29 11:31:11 +01:00
Jacek Sieka
2ede0fa40c
remove redundant gcsafe annotations ( #999 )
2023-12-05 08:05:32 +01:00
diegomrsantos
ebef85c9d7
Rate limit fixes ( #965 )
2023-11-09 14:20:28 +01:00
diegomrsantos
3fc1236659
Revert "Prevent concurrent IWANT of the same message ( #943 )" ( #977 )
2023-11-03 15:24:27 +01:00
diegomrsantos
459f6851e7
Add a flag if a peer should be disconnected when above rate limit ( #954 )
2023-10-05 14:51:27 +02:00
diegomrsantos
75871817ee
Split msgs in iwant response if bigger than limit ( #944 )
2023-10-02 11:39:28 +02:00
diegomrsantos
56599f5b9d
GossipSub Traffic scoring ( #920 )
2023-09-22 16:45:08 +02:00
Tanguy
b2eac7ecbd
GS: Relay messages to direct peers ( #949 )
2023-09-15 17:22:02 +02:00
Tanguy
ff77d52851
IDontWant metrics ( #946 )
2023-09-06 16:05:59 +00:00
diegomrsantos
c6aa085e98
Prevent concurrent IWANT of the same message ( #943 )
2023-08-21 16:34:24 +02:00
diegomrsantos
f80ce3133c
Bandwidth estimate as a parameter ( #941 )
2023-08-14 17:03:46 +02:00
Tanguy
7a369dd1bf
GossipSub: Limit flood publishing ( #911 )
...
Co-authored-by: Diego <diego@status.im>
2023-07-31 11:13:51 +02:00
Tanguy
b784167805
GossipSub: IDontWant ( #934 )
2023-07-28 10:58:05 +02:00
diegomrsantos
c45f9705ab
Gossipsub scoring improvements ( #909 )
2023-07-04 00:27:45 +02:00
Tanguy
66f9dc9167
Remove all `Result.get()`s & `Option` -> `Opt` ( #902 )
...
Co-authored-by: Ludovic Chenut <ludovic@status.im>
Co-authored-by: Diego <diego@status.im>
2023-06-28 16:44:58 +02:00
Tanguy
1c4d0832ce
Add GossipSub ping ( #912 )
2023-06-21 10:40:10 +02:00
Tanguy
c76d1e18ef
Remove nim 1.2 support ( #907 )
2023-06-07 11:12:49 +00:00
Tanguy
4aa615c44c
GossipSub: TimedEntry & shortAgent fixes ( #858 )
2023-04-03 11:05:01 +02:00
Tanguy
6b61ce8c91
GossipSub: Better IWANT handling ( #875 )
2023-04-03 10:56:20 +02:00
Jacek Sieka
e573238705
reexport public types ( #872 )
2023-03-06 15:36:10 +00:00
Tanguy
c11772c94e
Happy new year! ( #847 )
2023-01-20 15:47:40 +01:00
Tanguy
dc13ff81d3
Revert "Temporarily remove failing test ( #788 )" & fix tests ( #789 )
...
Co-authored-by: Ludovic Chenut <ludovic@status.im>
2022-10-26 11:07:31 +02:00
Tanguy
3ffc03ed16
Gossipsub: Rebalance mesh immediately when peer sub/unsub ( #719 )
2022-09-02 10:24:54 +02:00
Miran
2fbe82bf9d
make it more Nim 1.4+ compatible ( #742 )
2022-08-03 13:33:19 +02:00
tersec
1e598a0239
topicIDs -> topicIds; PubsubPeerEvent -> PubSubPeerEvent; messageIDs -> messageIds ( #748 )
2022-07-27 17:14:05 +00:00
tersec
4ca1c2d7ed
--styleCheck:error ( #743 )
...
* --styleCheck:error
* PeerID -> PeerId
* other libp2p styleCheck changes
* MessageID -> messageId; topicID -> topicId
2022-07-27 11:47:50 +00:00
Tanguy
d0523fdc9d
Documentation ( #716 )
2022-07-01 20:19:57 +02:00
lchenut
0ece5eaf12
Start/stop protocols ( #730 )
...
Starting/stopping a switch now starts/stops all protocols mounted on that switch
2022-06-30 11:21:33 +02:00
Jacek Sieka
e6440c43c2
lower log level of no-peers message ( #735 )
...
the number of peers sent to is returned from the function - the caller
can log this, if need be
2022-06-30 09:57:07 +02:00
Jacek Sieka
597abddba7
don't increase seqno when anonymizing ( #734 )
2022-06-30 09:56:49 +02:00
Tanguy
991549f391
Gossipsub scoring fixes ( #709 )
...
* Use decayInterval as a scoring heartbeat period
* Take mesh delivery window into account
2022-05-11 10:38:43 +02:00