Table of Contents

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

string

FailedCount

Gets or sets the number of failures.

public int FailedCount { get; set; }

Property Value

int

HasUsed

Gets a value indicating whether the endpoint has been used.

[JsonIgnore]
public bool HasUsed { get; }

Property Value

bool

IsLastUsedFailed

Gets a value indicating whether the endpoint's last use failed.

[JsonIgnore]
public bool IsLastUsedFailed { get; }

Property Value

bool

IsLastUsedSucceeded

Gets a value indicating whether the endpoint's last use succeeded.

[JsonIgnore]
public bool IsLastUsedSucceeded { get; }

Property Value

bool

LastFailed

Gets or sets when the endpoint last failed, in UTC, or null.

public DateTime? LastFailed { get; set; }

Property Value

DateTime?

LastSucceeded

Gets or sets when the endpoint last succeeded, in UTC, or null.

public DateTime? LastSucceeded { get; set; }

Property Value

DateTime?

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

DateTime?

Latency

Gets or sets how long the last success took, or null.

public TimeSpan? Latency { get; set; }

Property Value

TimeSpan?

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

int

Quality

Gets the endpoint's quality, from its penalty and its successes.

public StatusQuality Quality { get; }

Property Value

StatusQuality

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

long

SucceededCount

Gets or sets the number of successes.

public int SucceededCount { get; set; }

Property Value

int