Commit Graph

558 Commits

Author SHA1 Message Date
Alejandro Cabeza Romero e53d041305
Fix resub after unsub test. 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero 6501a611ba
Add simple mocking mechanism. 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero 3e68f916f6
Update future to result utils. 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero cba704d45d
Fix timeout variable naming 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero b32badfe9a
Add active waitForMesh proc. 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero e199782ca1
Add timeout duration consts. 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero 543c281205
Improve existing PX test. 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero 56419460ae
Update waitForResult to handle void futures. 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero f791e78cda
Implement rendezvous frequent sub/unsub tests. 2024-08-27 18:56:46 +02:00
Alejandro Cabeza Romero 788e156800
Implement renddezvous sub/unsub test. 2024-08-27 18:56:45 +02:00
Alejandro Cabeza Romero c8bc839c81
Refactor discovery tests for reusability. 2024-08-27 18:56:45 +02:00
Alejandro Cabeza Romero a85be0463e
Add utility functions. 2024-08-27 18:56:45 +02:00
Álex 48846d69cb
chore(logs): remove duplicate msg key (#1180)
* Remove `msg` parameter key in logs.

closes: https://github.com/vacp2p/nim-libp2p/issues/1176
2024-08-14 17:19:54 +02:00
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 fa19bbbbb7
fix: support ipv6 dual stack (#1148)
Fixes https://github.com/vacp2p/nim-libp2p/issues/1147
2024-07-10 18:08:52 +02:00
diegomrsantos 86563cbddd
chore: enable Nim 2.0.x and fix compilation issues (#1146)
This PR enables Nim 2.0.x with `refc` garbage collector on CI.

The following compilation error had to be fixed: Error: undeclared
identifier: 'acceptHandler`gensym435'; if declared in a template, this
identifier may be inconsistently marked inject or gensym
2024-07-10 14:24:12 +02:00
diegomrsantos 78f0855419
feat: add maxSize to TimedCache (#1132) 2024-07-01 22:00:51 +02: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 4618f4c68f
fix(tests): flaky testdaemon (#1123) 2024-06-13 09:07:36 +00:00
diegomrsantos 3bf8a2907f
fix(tests): testautorelay (#1121) 2024-06-12 14:31:09 +00: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
diegomrsantos 120549e313
fix(services): setup services before peerinfo is updated (#1120) 2024-06-07 11:48:44 +02:00
diegomrsantos bccb305cf5
feat(service): add wildcard address resolver (#1099)
Co-authored-by: Ludovic Chenut <ludovic@status.im>
2024-06-06 11:05:45 +00:00
diegomrsantos 2fa2c4425f
fix(yamux): set EoF when remote peer half closes the stream in yamux (#1086) 2024-05-24 14:11:27 +02:00
Jacek Sieka 21cbe3a91a
chore: cleanups (#1092)
* remove cruft
* remove redundant error handling (reduces warnings)
* remove redundant copying
2024-05-08 14:33:26 +02:00
Jacek Sieka 02c96fc003
Improve memory efficiency of seen cache (#1073) 2024-05-01 18:38:24 +02:00
Ludovic Chenut 09b3e11956
fix: valueOr and withValue utilities (#1079) 2024-04-04 17:15:50 +02:00
Etan Kissling 03f67d3db5
add support for setting protocol handlers with `{.raises.}` annotation (#1064) 2024-03-28 09:42:31 +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
Jacek Sieka d1e51beb7f
Remove `secio` (#1072) 2024-03-20 14:53:56 +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
Etan Kissling 28609597d1
add `{.async: (raises).}` to `libp2p/stream` modules (#1050)
Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
Co-authored-by: Jacek Sieka <jacek@status.im>
2024-03-05 07:06:27 +00:00
Etan Kissling 44cada9c55
use new Chronos `trackCounter` APIs for leaks checks in tests (#1038) 2024-03-03 18:13:37 +01:00
Etan Kissling 6c873481ac
move `allFutureThrowing` helper to tests (#1037)
Co-authored-by: Jacek Sieka <jacek@status.im>
2024-03-01 18:06:26 +01:00
Etan Kissling bd6ead95ef
increase tolerance of `simple heartbeat` test (#1034) 2024-03-01 14:06:42 +01:00
diegomrsantos e9b456162a
use chronos 4.0.0 (#1030) 2024-02-27 13:26:50 +01:00
diegomrsantos 250024f6cc
fix: move transport interop tests to nim-libp2p repo (#1031) 2024-02-27 10:55:43 +01:00
Eugene Kabanov fec632d28d
Fix empty path crash issue for MultiAddresses `unix`, `ip6zone`, `dns***`. (#1025)
This issue was discovered by @0xTylerHolmes . Thank you!
2024-02-22 15:57:11 +01:00
Ludovic Chenut 349496e40f
feat: Yamux timeout (#1029) 2024-02-22 10:21:34 +01: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 e0f70b7177
improvement: enhanced checkExpiring macro with custom timeout (#1023) 2024-02-09 11:51:27 +01:00
Álex Cabeza Romero 04af0c4323
test(flaky): Log checkExpiring failure (#1018)
Add simple logging mechanism on checkExpiring failure.
2024-02-06 17:47:13 +01:00
Ludovic Chenut eb0890cd6f
docs: add comments and improve yamux readability (#1006) 2024-02-02 15:14:02 +01:00
Álex Cabeza Romero 9bc5ec1566
tests(flaky): Increase check timeouts (#995)
Increase checkExpiring timeouts to verify impact on flaky tests.
2024-01-31 23:46:12 +00:00
diegomrsantos 9468bb6b4d
fix(hole-punching-interop): update nim to 1.6.16 (#1012) 2024-01-26 11:15:40 +01:00
Ludovic Chenut d2c98bd87d
improvement(yamux): make the window size configurable (#987)
Co-authored-by: Diego <diego@status.im>
2023-12-15 16:30:50 +01:00