Class ConnectionTestViewModel
- Namespace
- McServerLauncher.ViewModels
- Assembly
- McServerLauncher.dll
The connection test on a server's network page: where a slow game is coming from.
public sealed class ConnectionTestViewModel : ObservableObject, INotifyPropertyChanged, INotifyPropertyChanging, IDisposable
- Inheritance
-
ConnectionTestViewModel
- Implements
- Inherited Members
Remarks
It measures the stretches a player's packets cross one at a time — the server alone, this machine's internet, the Playit tunnel for Java, and the one for Bedrock — and each lights up as it finishes, with a sentence that says what it means. Whoever knows nothing about networks reads the sentences; whoever does opens the details, with every round trip's minimum, average, maximum, jitter and loss, the line's speed and peak, the samples, and a report to copy.
With the server off only the internet can be measured; the test says so, and offers to start the server and run again. It never starts it by itself.
Constructors
ConnectionTestViewModel(ServerViewModel)
public ConnectionTestViewModel(ServerViewModel server)
Parameters
serverServerViewModel
Properties
AddressesText
[ExcludeFromCodeCoverage]
public string AddressesText { get; set; }
Property Value
BedrockStep
public ConnectionStepViewModel BedrockStep { get; }
Property Value
CopyReportCommand
Gets an IAsyncRelayCommand instance wrapping McServerLauncher.ViewModels.ConnectionTestViewModel.CopyReport().
[ExcludeFromCodeCoverage]
public IAsyncRelayCommand CopyReportCommand { get; }
Property Value
CopyText
[ExcludeFromCodeCoverage]
public string CopyText { get; set; }
Property Value
DetailsOpen
public bool DetailsOpen { get; set; }
Property Value
DownloadText
[ExcludeFromCodeCoverage]
public string DownloadText { get; set; }
Property Value
HasRun
[ExcludeFromCodeCoverage]
public bool HasRun { get; set; }
Property Value
HasSamples
public bool HasSamples { get; }
Property Value
HasVerdict
public bool HasVerdict { get; }
Property Value
InternetStep
public ConnectionStepViewModel InternetStep { get; }
Property Value
IsTesting
[ExcludeFromCodeCoverage]
public bool IsTesting { get; set; }
Property Value
LocalStep
public ConnectionStepViewModel LocalStep { get; }
Property Value
PeakText
[ExcludeFromCodeCoverage]
public string PeakText { get; set; }
Property Value
Rows
public ObservableCollection<ProbeRow> Rows { get; }
Property Value
RunButtonText
public string RunButtonText { get; }
Property Value
RunCommand
Gets an IAsyncRelayCommand instance wrapping McServerLauncher.ViewModels.ConnectionTestViewModel.Run().
[ExcludeFromCodeCoverage]
public IAsyncRelayCommand RunCommand { get; }
Property Value
SamplesSeries
The tunnel's round trips, or the server's when there is no tunnel, for the little graph.
[ExcludeFromCodeCoverage]
public IReadOnlyList<double> SamplesSeries { get; set; }
Property Value
SamplesTitle
[ExcludeFromCodeCoverage]
public string SamplesTitle { get; set; }
Property Value
ServerWasOff
The last run could not test everything, because the server was off.
[ExcludeFromCodeCoverage]
public bool ServerWasOff { get; set; }
Property Value
StartServerAndRunCommand
Gets an IAsyncRelayCommand instance wrapping McServerLauncher.ViewModels.ConnectionTestViewModel.StartServerAndRun().
[ExcludeFromCodeCoverage]
public IAsyncRelayCommand StartServerAndRunCommand { get; }
Property Value
Steps
public ObservableCollection<ConnectionStepViewModel> Steps { get; }
Property Value
TunnelStep
public ConnectionStepViewModel TunnelStep { get; }
Property Value
UploadText
[ExcludeFromCodeCoverage]
public string UploadText { get; set; }
Property Value
Verdict
One sentence for the whole test, once it has run.
[ExcludeFromCodeCoverage]
public string Verdict { get; set; }
Property Value
VerdictState
[ExcludeFromCodeCoverage]
public StepState VerdictState { get; set; }
Property Value
Methods
Dispose()
Stops a test in progress and lets go of its token, for a server that is being removed.
public void Dispose()