Class ProxyEndPointStatus
- Namespace
- VpnHood.Core.Proxies.Management.Abstractions
- Assembly
- VpnHood.Core.Proxies.Management.Abstractions.dll
Represents a proxy endpoint's record of use, which rates it and sets its turn in the rotation.
public class ProxyEndPointStatus
- Inheritance
-
ProxyEndPointStatus
- Inherited Members
Properties
ErrorMessage
Gets or sets the last failure's message, or why the endpoint was disabled as a duplicate; null after a success.
public string? ErrorMessage { get; set; }
Property Value
FailedCount
Gets or sets the number of failures.
public int FailedCount { get; set; }
Property Value
HasUsed
Gets a value indicating whether the endpoint has been used.
[JsonIgnore]
public bool HasUsed { get; }
Property Value
IsLastUsedFailed
Gets a value indicating whether the endpoint's last use failed.
[JsonIgnore]
public bool IsLastUsedFailed { get; }
Property Value
IsLastUsedSucceeded
Gets a value indicating whether the endpoint's last use succeeded.
[JsonIgnore]
public bool IsLastUsedSucceeded { get; }
Property Value
LastFailed
Gets or sets when the endpoint last failed, in UTC, or null.
public DateTime? LastFailed { get; set; }
Property Value
LastSucceeded
Gets or sets when the endpoint last succeeded, in UTC, or null.
public DateTime? LastSucceeded { get; set; }
Property Value
LastUsed
Gets LastSucceeded when it is later than LastFailed, and otherwise LastFailed, which is null while the endpoint has never failed, whatever it succeeded.
[JsonIgnore]
public DateTime? LastUsed { get; }
Property Value
Latency
Gets or sets how long the last success took, or null.
public TimeSpan? Latency { get; set; }
Property Value
Penalty
Gets or sets the endpoint's penalty: a managed connector adds 2 for each failure and 1 for each success much slower than the fastest endpoint's, and takes 1 off for each other success, down to 0.
public int Penalty { get; set; }
Property Value
Quality
Gets the endpoint's quality, from its penalty and its successes.
public StatusQuality Quality { get; }
Property Value
QueuePosition
Gets or sets the endpoint's place in the rotation: after each use, the connector's queue position then, plus 3 times the penalty, plus 1; the endpoint whose place is lowest against the current position comes first.
public long QueuePosition { get; set; }
Property Value
SucceededCount
Gets or sets the number of successes.
public int SucceededCount { get; set; }