mirror of
https://github.com/nestriness/cdc-file-transfer.git
synced 2026-01-30 14:45:37 +02:00
[cdc_stream] Use ephemeral ports (#100)
Instead of running netstat/ss on local and remote systems, just bind with port 0 to find an ephemeral port. This is much more robust, simpler and a bit faster. Since the remote port is only known after running cdc_fuse_fs, port forwarding has to be set up after running cdc_fuse_fs.
This commit is contained in:
@@ -50,19 +50,14 @@ void AssetStreamConfig::RegisterCommandLineFlags(lyra::command& cmd,
|
||||
"asset stream service, default: " +
|
||||
std::to_string(service_port_)));
|
||||
|
||||
session_cfg_.forward_port_first = MultiSession::kDefaultForwardPortFirst;
|
||||
session_cfg_.forward_port_last = MultiSession::kDefaultForwardPortLast;
|
||||
cmd.add_argument(
|
||||
lyra::opt(base_command.PortRangeParser("--forward-port",
|
||||
&session_cfg_.forward_port_first,
|
||||
&session_cfg_.forward_port_last),
|
||||
"port")
|
||||
.name("--forward-port")
|
||||
.help("TCP port or range used for SSH port forwarding, default: " +
|
||||
std::to_string(MultiSession::kDefaultForwardPortFirst) + "-" +
|
||||
std::to_string(MultiSession::kDefaultForwardPortLast) +
|
||||
". If a range is specified, searches for available ports "
|
||||
"(slower)."));
|
||||
cmd.add_argument(lyra::opt(base_command.PortRangeParser(
|
||||
"--forward-port",
|
||||
&session_cfg_.deprecated_forward_port_first,
|
||||
&session_cfg_.deprecated_forward_port_last),
|
||||
"port")
|
||||
.name("--forward-port")
|
||||
.help("[Deprecated, ignored] TCP port or range used for "
|
||||
"SSH port forwarding"));
|
||||
|
||||
session_cfg_.verbosity = kDefaultVerbosity;
|
||||
cmd.add_argument(lyra::opt(session_cfg_.verbosity, "num")
|
||||
@@ -190,8 +185,6 @@ absl::Status AssetStreamConfig::LoadFromFile(const std::string& path) {
|
||||
} while (0)
|
||||
|
||||
ASSIGN_VAR(service_port_, "service-port", Int);
|
||||
ASSIGN_VAR(session_cfg_.forward_port_first, "forward-port-first", Int);
|
||||
ASSIGN_VAR(session_cfg_.forward_port_last, "forward-port-last", Int);
|
||||
ASSIGN_VAR(session_cfg_.verbosity, "verbosity", Int);
|
||||
ASSIGN_VAR(session_cfg_.fuse_debug, "debug", Bool);
|
||||
ASSIGN_VAR(session_cfg_.fuse_singlethreaded, "singlethreaded", Bool);
|
||||
@@ -231,8 +224,6 @@ absl::Status AssetStreamConfig::LoadFromFile(const std::string& path) {
|
||||
std::string AssetStreamConfig::ToString() {
|
||||
std::ostringstream ss;
|
||||
ss << "service-port = " << service_port_ << std::endl;
|
||||
ss << "forward-port = " << session_cfg_.forward_port_first
|
||||
<< "-" << session_cfg_.forward_port_last << std::endl;
|
||||
ss << "verbosity = " << session_cfg_.verbosity
|
||||
<< std::endl;
|
||||
ss << "debug = " << session_cfg_.fuse_debug
|
||||
|
||||
Reference in New Issue
Block a user