public async Task RefreshCurrentConnectAddressAsync() { var parser = new CommandResultParser { ListenAddress = config.ListenAddress }; currentAddress = parser.GetCurrentProxyAddress( await processRunner.RunAsync( NetshCommandFactory.Executable, NetshCommandFactory.GetShowCommandArguments()).ConfigureAwait(false)); }
private async Task SetConnectAddressAsync(string address) { var(hostname, port) = SplitAddressAndPort(address); await processRunner.RunAsync( NetshCommandFactory.Executable, NetshCommandFactory.GetDeleteCommandArguments(config.ListenAddress)) .ConfigureAwait(false); if (!string.IsNullOrEmpty(hostname)) { await processRunner.RunAsync( NetshCommandFactory.Executable, NetshCommandFactory.GetAddCommandArguments(config.ListenAddress, hostname, port)) .ConfigureAwait(false); } await RefreshCurrentConnectAddressAsync().ConfigureAwait(false); }