Thomas Eizinger
f13f9edeb4
protocols/identify: Fix bad changelog entries and manifest version ( #2974 )
...
Fix bad changelog entries and manifest version for libp2p-identify
2022-10-04 18:06:45 +01:00
Thomas Eizinger
a905a36cbc
protocols/mdns: Optimise InterfaceState::poll
for low latency ( #2939 )
2022-10-04 18:45:39 +11:00
Thomas Eizinger
1b793242e6
.cargo: Run clippy
on ALL the source files ( #2949 )
2022-10-04 18:24:38 +11:00
David D
e6da99e4f8
.github/workflows: Deny cargo doc warnings in CI ( #2936 )
...
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2022-10-04 12:01:45 +11:00
João Oliveira
a7a96e5502
protocols/identify: Revise symbol naming ( #2927 )
2022-10-04 11:17:31 +11:00
Thomas Eizinger
1da75b2b25
protocols/ping: Properly deprecate types with Ping
prefix ( #2937 )
...
Co-authored-by: Elena Frank <elena.frank@protonmail.com>
Co-authored-by: João Oliveira <hello@jxs.pt>
2022-10-01 00:19:34 +10:00
Ryan Plauche
cce296e55e
protocols/{autonat,dcutr}: Fixing filename collision in examples ( #2959 )
...
Co-authored-by: Ryan Plauche <ryan@littlebearlabs.io>
2022-09-30 13:58:35 +10:00
Thomas Eizinger
f6bb846c36
*: Remove default features from all crates ( #2918 )
...
Remove default features. You need to enable required features
explicitly now. As a quick workaround, you may want to use the
new `full` feature which activates all features.
2022-09-29 16:32:22 +01:00
Thomas Eizinger
b28ab2c6bc
build(deps): Update lru to 0.8.0 ( #2908 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Inden <mail@max-inden.de>
2022-09-27 11:39:10 +10:00
Roman
e530118fb0
build(deps): Bump rand to 0.8 and quickcheck to 1 ( #2857 )
...
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Max Inden <mail@max-inden.de>
2022-09-22 18:48:32 +10:00
Thomas Eizinger
45faefa36c
*: Unfiy how we depend on crates across the workspace ( #2886 )
2022-09-19 17:32:02 +10:00
Hannes
c81b06a9b2
*: Fix various clippy warnings ( #2900 )
2022-09-16 16:30:11 +02:00
Thomas Eizinger
2c739e9bdb
protocols/noise: Introduce NoiseAuthenticated::xx
constructor with X25519 DH key exchange ( #2887 )
...
Co-authored-by: Max Inden <mail@max-inden.de>
2022-09-16 11:41:35 +10:00
Dmitry Markin
5906140d38
protocols/kad: Remove deprecated set_protocol_name()
( #2866 )
2022-09-15 15:30:32 +02:00
Roman
72bade1799
build(deps): Update env_logger to 0.9 and criterion to 0.4 ( #2896 )
2022-09-14 13:01:41 +10:00
Alexander Shishenko
c650dc19db
*: Replace _serde with dep:serde in Cargo.toml ( #2868 )
2022-09-08 18:30:43 +10:00
Max Inden
83c67954e9
*: Prepare v0.48.0 ( #2869 )
2022-09-07 09:44:51 +02:00
Thomas Eizinger
2eca38cca0
core/upgrade/: Add ReadyUpgrade
( #2855 )
2022-09-07 09:08:23 +02:00
Alexander Shishenko
8644c65a22
core/: Introduce rsa
feature flag to avoid ring
dependency ( #2860 )
...
- Introduce `rsa` feature flag to `libp2p-core`.
- Expose `rsa` feature in `libp2p`.
- Add `rsa` feature to `libp2p` `default`.
2022-09-07 08:16:22 +02:00
Alexander Shishenko
b8c3b282ee
protocols/gossipsub: Allow publishing to anything that implements Into<TopicHash>
( #2862 )
2022-09-05 06:31:13 +02:00
Dmitry Markin
cee199afca
protocols/kad: Support multiple protocol names ( #2846 )
...
Add support for multiple Kademlia protocol names to allow
protocol name upgrades.
2022-09-03 02:46:50 +02:00
Yolier Galan Tasse
89f898c69f
protocols/mdns: Allow users to choose between async-io and tokio runtime ( #2748 )
...
Allow users to choose between async-io and tokio runtime
in the mdns protocol implementation. `async-io` is a default
feature, with an additional `tokio` feature.
Fix high CPU usage with Tokio library.
2022-09-02 05:53:38 +02:00
Divma
36a2773861
*: Update changelogs for prost dep update ( #2851 )
2022-08-30 10:03:54 +02:00
Max Inden
ca07ce4d64
swarm/behaviour: Remove deprecated NetworkBehaviourEventProcess ( #2840 )
...
Removes the `NetworkBehaviourEventProcess` and all its associated logic.
See deprecation pull request https://github.com/libp2p/rust-libp2p/pull/2784 .
Find rational in https://github.com/libp2p/rust-libp2p/pull/2751 .
2022-08-26 07:08:33 +02:00
Elena Frank
d610e4b0fb
protocols/dcutr: Disable libp2p-core
default features ( #2836 )
2022-08-23 09:12:00 +02:00
Max Inden
4253080a43
*: Prepare v0.47.0 ( #2830 )
2022-08-22 05:14:04 +02:00
dependabot[bot]
d2c50530e9
build(deps): Update prometheus-client requirement from 0.17.0 to 0.18.0 ( #2822 )
...
* build(deps): Update prometheus-client requirement from 0.17.0 to 0.18.0
Updates the requirements on [prometheus-client](https://github.com/prometheus/client_rust ) to permit the latest version.
- [Release notes](https://github.com/prometheus/client_rust/releases )
- [Changelog](https://github.com/prometheus/client_rust/blob/master/CHANGELOG.md )
- [Commits](https://github.com/prometheus/client_rust/compare/v0.17.0...v0.18.0 )
---
updated-dependencies:
- dependency-name: prometheus-client
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-17 07:02:21 +02:00
dependabot[bot]
6a9fa3d930
build(deps): Update prost requirement from 0.10 to 0.11 ( #2788 )
...
* build(deps): Update prost-build requirement from 0.10 to 0.11
Updates the requirements on [prost-build](https://github.com/tokio-rs/prost ) to permit the latest version.
- [Release notes](https://github.com/tokio-rs/prost/releases )
- [Commits](https://github.com/tokio-rs/prost/compare/v0.10.0...v0.11.0 )
---
updated-dependencies:
- dependency-name: prost-build
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* build(deps): Update prost requirement from 0.10 to 0.11
Updates the requirements on [prost](https://github.com/tokio-rs/prost ) to permit the latest version.
- [Release notes](https://github.com/tokio-rs/prost/releases )
- [Commits](https://github.com/tokio-rs/prost/compare/v0.10.0...v0.11.0 )
---
updated-dependencies:
- dependency-name: prost
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-16 08:49:09 +02:00
Elena Frank
06aaea67f3
*: Fix clippy::derive-partial-eq-without-eq
( #2818 )
2022-08-14 04:03:04 +02:00
Kourosh
a4110a2b69
*: Remove inject_connected
/ inject_disconnected
from docs ( #2805 )
2022-08-10 10:20:31 +02:00
Kourosh
1012579d77
protocols/: Remove passing default variant to WithPeerId::condition
( #2802 )
2022-08-10 09:50:24 +02:00
Elena Frank
09c690862e
protocols/dcutr: Fix clippy lints ( #2772 )
2022-07-28 03:04:36 +02:00
dependabot[bot]
51a847128c
build(deps): Update prometheus-client requirement from 0.16.0 to 0.17.0 ( #2761 )
...
* build(deps): Update prometheus-client requirement from 0.16.0 to 0.17.0
Updates the requirements on [prometheus-client](https://github.com/prometheus/client_rust ) to permit the latest version.
- [Release notes](https://github.com/prometheus/client_rust/releases )
- [Changelog](https://github.com/prometheus/client_rust/blob/master/CHANGELOG.md )
- [Commits](https://github.com/prometheus/client_rust/compare/v0.16.0...v0.17.0 )
---
updated-dependencies:
- dependency-name: prometheus-client
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-22 11:20:39 +02:00
tgmichel
c8066df232
*: Update to if-watch
1.1.1
( #2754 )
2022-07-19 09:14:00 +02:00
Thomas Eizinger
1a553db596
core/muxing: Flatten StreamMuxer
interface to poll_{inbound,outbound,address_change,close}
( #2724 )
...
Instead of having a mix of `poll_event`, `poll_outbound` and `poll_close`, we
flatten the entire interface of `StreamMuxer` into 4 individual functions:
- `poll_inbound`
- `poll_outbound`
- `poll_address_change`
- `poll_close`
This design is closer to the design of other async traits like `AsyncRead` and
`AsyncWrite`. It also allows us to delete the `StreamMuxerEvent`.
2022-07-18 05:20:11 +02:00
Max Inden
d4f8ec2d48
misc/metrics: Track # connected nodes supporting specific protocol ( #2734 )
...
* misc/metrics: Explicitly delegate event recording to each recorder
This allows delegating a single event to multiple `Recorder`s. That enables e.g. the
`identify::Metrics` `Recorder` to act both on `IdentifyEvent` and `SwarmEvent`. The latter enables
it to garbage collect per peer data on disconnects.
* protocols/dcutr: Expose PROTOCOL_NAME
* protocols/identify: Expose PROTOCOL_NAME and PUSH_PROTOCOL_NAME
* protocols/ping: Expose PROTOCOL_NAME
* protocols/relay: Expose HOP_PROTOCOL_NAME and STOP_PROTOCOL_NAME
* misc/metrics: Track # connected nodes supporting specific protocol
An example metric exposed with this patch:
```
libp2p_identify_protocols{protocol="/ipfs/ping/1.0.0"} 10
```
This implies that 10 of the currently connected nodes support the ping protocol.
2022-07-15 09:16:03 +02:00
Chad Nehemiah
d0da3a0973
swarm/: Set default dial concurrency factor to 8 ( #2741 )
2022-07-07 11:20:03 +02:00
Max Inden
7df6bae520
*: Prepare v0.46.0 ( #2730 )
2022-07-05 13:09:58 +02:00
Elena Frank
62622a1bad
core/src/transport: Poll Transport directly, remove Transport::Listener ( #2652 )
...
Remove the concept of individual `Transport::Listener` streams from `Transport`.
Instead the `Transport` is polled directly via `Transport::poll`. The
`Transport` is now responsible for driving its listeners.
2022-07-04 04:16:57 +02:00
Max Inden
b28cdb31f9
protocols/identify: Fix race condition in discover_peer_after_disconnect ( #2744 )
...
**Summary** of the plot of the `discover_peer_after_disconnect` test:
1. `swarm2` connects to `swarm1`.
2. `swarm2` requests an identify response from `swarm1`.
3. `swarm1` sends the response to `swarm2`.
4. `swarm2` disconnects from `swarm1`.
5. `swarm2` tries to disconnect.
**Problem**
`libp2p-identify` sets `KeepAlive::No` when it identified the remote. Thus `swarm1` might
identify` `swarm2` before `swarm2` identified `swarm1`. `swarm1` then sets `KeepAlive::No` and thus closes the
connection to `swarm2` before `swarm2` identified `swarm1`. In such case the unit test
`discover_peer_after_disconnect hangs indefinitely.
**Solution**
Add an initial delay to `swarm1` requesting an identification from `swarm2`, thus ensuring `swarm2`
is always able to identify `swarm1`.
2022-07-04 03:58:16 +02:00
bernardo
6db57121e9
protocols/gossipsub/: Allow custom protocol id ( #2718 )
...
Allow for custom protocol ID via `GossipsubConfigBuilder::protocol_id()`.
2022-07-02 10:30:02 +02:00
Max Inden
862ae14ae2
protocols/rendezvous/src/client: Fix clippy warning let-unit-value ( #2742 )
2022-07-01 16:13:21 +02:00
Akihito Nakano
748588e3f0
protocols/gossipsub: Fix a typo in error message ( #2739 )
...
* protocols/gossipsub: Fix a typo in error message
* protocols/gossipsub: Make the error message accurately
2022-06-30 10:20:26 +02:00
Elena Frank
423adca0bf
protocols/identify: Fix dev deps for example ( #2737 )
2022-06-29 06:37:57 +02:00
pj50
f814b21f5a
protocols/relay: Don't duplicate p2p protocol in relay reservation ( #2696 ) ( #2701 )
2022-06-27 06:54:40 +02:00
dadepo
40744beec1
protocols/identify/: Add example ( #2689 )
2022-06-27 04:17:59 +02:00
Max Inden
2c70c59618
protocols/identify: Extend log message on second identify push ( #2726 )
...
Print remote peer ID when seeing a second identify push stream coming in.
2022-06-26 10:37:29 +02:00
Thomas Eizinger
eb490c08e9
core/muxing: Force StreamMuxer::Substream
to implement Async{Read,Write}
( #2707 )
...
Co-authored-by: Max Inden <mail@max-inden.de>
2022-06-23 21:52:11 +10:00
Friedel Ziegelmayer
e2bef93bd7
protocols/autonat: Export DEFAULT_PROTOCOL_NAME
( #2717 )
2022-06-22 05:36:20 +02:00
Akihito Nakano
c7c21b1023
protocols/gossipsub: Fix duplicate connection id ( #2702 )
2022-06-14 16:31:27 +02:00