Max Inden
Max Inden
## Description When getting started with rust-libp2p, it is confusing that connections over time through the `KeepAlive` mechanism. See e.g. https://github.com/libp2p/rust-libp2p/issues/2768 https://github.com/libp2p/rust-libp2p/pull/2679 Today, users can import the `Ping` `NetworkBehaviour` and...
## Description Replace the various `NetworkBehaviour::inject_xxx` methods with a single `NetworkBehaviour::on_event` method and a `InEvent` `enum`. Example replacing `NetworkBehaviour::inject_connection_established`: ``` diff diff --git a/swarm/src/behaviour.rs b/swarm/src/behaviour.rs index c0ac5976..c10adb7d 100644 --- a/swarm/src/behaviour.rs...
# Description This pull request enables generic connection management by implementing option (2) of https://github.com/libp2p/rust-libp2p/issues/2824: > Extend `NetworkBehaviour` with methods called to review a pending or established connection. Very much...
## Description > Today a user can: > > 1. Set a limit for incoming/outgoing/pending connections, global and per peer. > 2. Close a connection via `NetworkBehaviour`. > 3. Keep...
Instead of being generic over the metric type on `Registry`, use dynamic dispatch. On the upside this significantly simplifies type signatures exposed to the user. On the downside this requires...
The `Collector` abstraction allows users to provide additional metrics and their description on each scrape. See also: - https://pkg.go.dev/github.com/prometheus/client_golang/prometheus#hdr-Custom_Collectors_and_constant_Metrics - https://github.com/prometheus/client_rust/issues/49 - https://github.com/prometheus/client_rust/issues/29 I am opening this up as a...
### Summary Diagnostics (e.g. logging) should go to stderr. Output of a program should go to stdout. ### Expected behavior `tracing_subscriber` to log to stderr. ### Actual behavior `tracing_subscriber` is...
### Description See https://github.com/libp2p/rust-libp2p/issues/3078 for tracking issue on backpressure in rust-libp2p in general. Today `EnabledHandler::send_queue` can grow unboundedly, where the Gossipsub `NetworkBehaviour` sends messages faster than the Gossipsub `EnabledHandler` can...
### Description Make `TCP_NODELAY` the default. In other words, disable Nagle's algorithm. Rational of Golang setting `TCP_NODELAY` as default: https://github.com/golang/go/issues/57530 ### Motivation Trading low latency over throughput, especially when sending...