Remove disable_udp flag
This commit is contained in:
parent
990116d322
commit
10ce90d99b
5 changed files with 12 additions and 26 deletions
|
|
@ -102,7 +102,6 @@ void nano::add_node_flag_options (boost::program_options::options_description &
|
|||
("disable_request_loop", "Disable request loop")
|
||||
("disable_bootstrap_listener", "Disables bootstrap processing for TCP listener (not including realtime network TCP connections)")
|
||||
("disable_tcp_realtime", "Disables TCP realtime network")
|
||||
("disable_udp", "(Deprecated) UDP is disabled by default")
|
||||
("enable_udp", "Enables UDP realtime network")
|
||||
("disable_unchecked_cleanup", "Disables periodic cleanup of old records from unchecked table")
|
||||
("disable_unchecked_drop", "Disables drop of unchecked table at startup")
|
||||
|
|
@ -141,8 +140,7 @@ std::error_code nano::update_flags (nano::node_flags & flags_a, boost::program_o
|
|||
{
|
||||
ec = nano::error_cli::ambiguous_udp_options;
|
||||
}
|
||||
flags_a.disable_udp = (vm.count ("enable_udp") == 0);
|
||||
if (flags_a.disable_tcp_realtime && flags_a.disable_udp)
|
||||
if (flags_a.disable_tcp_realtime)
|
||||
{
|
||||
ec = nano::error_cli::disable_all_network;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -658,7 +658,7 @@ void nano::node::start ()
|
|||
tcp_listener.start ();
|
||||
tcp_enabled = true;
|
||||
|
||||
if (flags.disable_udp && network.port != tcp_listener.port)
|
||||
if (network.port != tcp_listener.port)
|
||||
{
|
||||
network.port = tcp_listener.port;
|
||||
}
|
||||
|
|
@ -682,8 +682,8 @@ void nano::node::start ()
|
|||
this_l->bootstrap_wallet ();
|
||||
});
|
||||
}
|
||||
// Start port mapping if external address is not defined and TCP or UDP ports are enabled
|
||||
if (config.external_address == boost::asio::ip::address_v6{}.any ().to_string () && (tcp_enabled || !flags.disable_udp))
|
||||
// Start port mapping if external address is not defined and TCP ports are enabled
|
||||
if (config.external_address == boost::asio::ip::address_v6{}.any ().to_string () && tcp_enabled)
|
||||
{
|
||||
port_mapping.start ();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,7 +137,6 @@ public:
|
|||
bool disable_rep_crawler{ false };
|
||||
bool disable_request_loop{ false }; // For testing only
|
||||
bool disable_tcp_realtime{ false };
|
||||
bool disable_udp{ true };
|
||||
bool disable_unchecked_cleanup{ false };
|
||||
bool disable_unchecked_drop{ true };
|
||||
bool disable_providing_telemetry_metrics{ false };
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@ std::string nano::mapping_protocol::to_string ()
|
|||
|
||||
nano::port_mapping::port_mapping (nano::node & node_a) :
|
||||
node (node_a),
|
||||
protocols ({ { { "TCP", boost::asio::ip::address_v4::any (), 0, true }, { "UDP", boost::asio::ip::address_v4::any (), 0, !node_a.flags.disable_udp } } })
|
||||
// Kept UDP in the array (set disabled) so the port mapping is still
|
||||
// implemented in case other transport protocols that rely on it is added.
|
||||
protocols ({ { { "TCP", boost::asio::ip::address_v4::any (), 0, true }, { "UDP", boost::asio::ip::address_v4::any (), 0, false } } })
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,33 +27,20 @@ void nano::transport::tcp_listener::start ()
|
|||
throw std::runtime_error (ec.message ());
|
||||
}
|
||||
|
||||
// the user can either specify a port value in the config or it can leave the choice up to the OS;
|
||||
// independently of user's port choice, he may have also opted to disable UDP or not; this gives us 4 possibilities:
|
||||
// (1): UDP enabled, port specified
|
||||
// (2): UDP enabled, port not specified
|
||||
// (3): UDP disabled, port specified
|
||||
// (4): UDP disabled, port not specified
|
||||
// the user can either specify a port value in the config or it can leave the choice up to the OS:
|
||||
// (1): port specified
|
||||
// (2): port not specified
|
||||
//
|
||||
const auto listening_port = listening_socket->listening_port ();
|
||||
if (!node.flags.disable_udp)
|
||||
{
|
||||
// (1) and (2) -- no matter if (1) or (2), since UDP socket binding happens before this TCP socket binding,
|
||||
// we must have already been constructed with a valid port value, so check that it really is the same everywhere
|
||||
//
|
||||
debug_assert (port == listening_port);
|
||||
debug_assert (port == node.network.port);
|
||||
debug_assert (port == node.network.endpoint ().port ());
|
||||
}
|
||||
else
|
||||
{
|
||||
// (3) -- nothing to do, just check that port values match everywhere
|
||||
// (1) -- nothing to do, just check that port values match everywhere
|
||||
//
|
||||
if (port == listening_port)
|
||||
{
|
||||
debug_assert (port == node.network.port);
|
||||
debug_assert (port == node.network.endpoint ().port ());
|
||||
}
|
||||
// (4) -- OS port choice happened at TCP socket bind time, so propagate this port value back;
|
||||
// (2) -- OS port choice happened at TCP socket bind time, so propagate this port value back;
|
||||
// the propagation is done here for the `tcp_listener` itself, whereas for `network`, the node does it
|
||||
// after calling `tcp_listener.start ()`
|
||||
//
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue