mirror of
https://github.com/sigp/lighthouse.git
synced 2026-06-29 19:04:27 +00:00
Enable mplex by default and change --enable-mplex to take bool (#9476)
Enable Mplex by default, and let `--enable-mplex` take a bool argument. Co-Authored-By: Daniel Knopik <daniel@dknopik.de> Co-Authored-By: Michael Sproul <michael@sigmaprime.io> Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
This commit is contained in:
@@ -125,7 +125,7 @@ pub struct Config {
|
||||
/// Whether light client protocols should be enabled.
|
||||
pub enable_light_client_server: bool,
|
||||
|
||||
/// Whether to enable the deprecated mplex multiplexer alongside yamux.
|
||||
/// Whether to enable the mplex multiplexer alongside yamux. Enabled by default.
|
||||
pub enable_mplex: bool,
|
||||
|
||||
/// Configuration for the outbound rate limiter (requests made by this node).
|
||||
@@ -365,7 +365,7 @@ impl Default for Config {
|
||||
proposer_only: false,
|
||||
metrics_enabled: false,
|
||||
enable_light_client_server: true,
|
||||
enable_mplex: false,
|
||||
enable_mplex: true,
|
||||
outbound_rate_limiter_config: None,
|
||||
invalid_block_storage: None,
|
||||
inbound_rate_limiter_config: None,
|
||||
|
||||
@@ -390,9 +390,12 @@ pub fn cli_app() -> Command {
|
||||
.arg(
|
||||
Arg::new("enable-mplex")
|
||||
.long("enable-mplex")
|
||||
.action(ArgAction::SetTrue)
|
||||
.help_heading(FLAG_HEADER)
|
||||
.help("Enables mplex multiplexer alongside yamux. Yamux is preferred when both are available.")
|
||||
.value_name("BOOLEAN")
|
||||
.action(ArgAction::Set)
|
||||
.num_args(0..=1)
|
||||
.default_value("true")
|
||||
.default_missing_value("true")
|
||||
.help("Enables the mplex multiplexer alongside yamux. Yamux is preferred when both are available. Enabled by default; set to \"false\" to disable.")
|
||||
.display_order(0)
|
||||
)
|
||||
.arg(
|
||||
|
||||
@@ -7,7 +7,7 @@ use beacon_chain::graffiti_calculator::GraffitiOrigin;
|
||||
use bls::PublicKeyBytes;
|
||||
use clap::{ArgMatches, Id, parser::ValueSource};
|
||||
use clap_utils::flags::DISABLE_MALLOC_TUNING_FLAG;
|
||||
use clap_utils::{parse_flag, parse_required};
|
||||
use clap_utils::{parse_flag, parse_optional, parse_required};
|
||||
use client::{ClientConfig, ClientGenesis};
|
||||
use directory::{DEFAULT_BEACON_NODE_DIR, DEFAULT_NETWORK_DIR, DEFAULT_ROOT_DIR};
|
||||
use environment::RuntimeContext;
|
||||
@@ -1434,8 +1434,8 @@ pub fn set_network_config(
|
||||
config.disable_quic_support = true;
|
||||
}
|
||||
|
||||
if parse_flag(cli_args, "enable-mplex") {
|
||||
config.enable_mplex = true;
|
||||
if let Some(enable_mplex) = parse_optional(cli_args, "enable-mplex")? {
|
||||
config.enable_mplex = enable_mplex;
|
||||
}
|
||||
|
||||
if parse_flag(cli_args, "disable-upnp") {
|
||||
|
||||
@@ -84,6 +84,10 @@ Options:
|
||||
--discovery-port6 <PORT>
|
||||
The UDP port that discovery will listen on over IPv6 if listening over
|
||||
both IPv4 and IPv6. Defaults to `port6`
|
||||
--enable-mplex [<BOOLEAN>]
|
||||
Enables the mplex multiplexer alongside yamux. Yamux is preferred when
|
||||
both are available. Enabled by default; set to "false" to disable.
|
||||
[default: true]
|
||||
--enr-address <ADDRESS>...
|
||||
The IP address/ DNS address to broadcast to other peers on how to
|
||||
reach this node. If a DNS address is provided, the enr-address is set
|
||||
@@ -489,9 +493,6 @@ Flags:
|
||||
Sets the local ENR IP address and port to match those set for
|
||||
lighthouse. Specifically, the IP address will be the value of
|
||||
--listen-address and the UDP port will be --discovery-port.
|
||||
--enable-mplex
|
||||
Enables mplex multiplexer alongside yamux. Yamux is preferred when
|
||||
both are available.
|
||||
--enable-partial-columns
|
||||
Enable partial messages for data columns. This can reduce the amount
|
||||
of data sent over the network. Enabled by default on Hoodi and
|
||||
|
||||
@@ -2785,6 +2785,45 @@ fn invalid_block_roots_default_mainnet() {
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn enable_mplex_default() {
|
||||
CommandLineTest::new()
|
||||
.run_with_zero_port()
|
||||
.with_config(|config| {
|
||||
assert!(config.network.enable_mplex);
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn enable_mplex_true() {
|
||||
CommandLineTest::new()
|
||||
.flag("enable-mplex", Some("true"))
|
||||
.run_with_zero_port()
|
||||
.with_config(|config| {
|
||||
assert!(config.network.enable_mplex);
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn enable_mplex_false() {
|
||||
CommandLineTest::new()
|
||||
.flag("enable-mplex", Some("false"))
|
||||
.run_with_zero_port()
|
||||
.with_config(|config| {
|
||||
assert!(!config.network.enable_mplex);
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn enable_mplex_no_value() {
|
||||
CommandLineTest::new()
|
||||
.flag("enable-mplex", None)
|
||||
.run_with_zero_port()
|
||||
.with_config(|config| {
|
||||
assert!(config.network.enable_mplex);
|
||||
})
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn partial_columns() {
|
||||
CommandLineTest::new()
|
||||
|
||||
Reference in New Issue
Block a user