Table of Contents

Interface ISessionStatus

Namespace
VpnHood.Core.Client
Assembly
VpnHood.Core.Client.dll

Represents a session's state now: its traffic, its channels, and what its access allows.

public interface ISessionStatus

Properties

ActiveClientCount

Gets the number of clients using the access now, or null where not told.

int? ActiveClientCount { get; }

Property Value

int?

ActivePacketChannelCount

Gets the packet channels the tunnel holds now, a closed one not cleaned up yet among them; the UDP channel counts as one while it is open.

int ActivePacketChannelCount { get; }

Property Value

int

CanChangeTcpForwarding

Gets a value indicating whether the person can switch TCP forwarding: the server can both forward IPv4 TCP and carry it as packets, and no domain filter needs forwarding.

bool CanChangeTcpForwarding { get; }

Property Value

bool

CanExtendByRewardedAd

Gets a value indicating whether a rewarded ad can extend the session now.

bool CanExtendByRewardedAd { get; }

Property Value

bool

ChannelProtocol

Gets the protocol of the session's packet channels now.

ChannelProtocol ChannelProtocol { get; }

Property Value

ChannelProtocol

ConnectorStatus

Gets the statistics of the client's connections to the server.

ConnectorStat ConnectorStatus { get; }

Property Value

ConnectorStat

CycleTraffic

Gets the access's traffic in its current cycle: what it was when the session began, and this session's since.

Traffic CycleTraffic { get; }

Property Value

Traffic

Error

Gets the error that ended the session, or null.

ApiError? Error { get; }

Property Value

ApiError

IsAdapterStarted

Gets a value indicating whether the session's VPN adapter has started.

bool IsAdapterStarted { get; }

Property Value

bool

IsDropQuic

Gets a value indicating whether the client drops the QUIC bound for the tunnel now, by the setting and the server.

bool IsDropQuic { get; }

Property Value

bool

IsSecureDnsDetected

Gets a value indicating whether the device sent traffic to port 853 in this session, the port of DNS over TLS and over QUIC; the payload is not read.

bool IsSecureDnsDetected { get; }

Property Value

bool

IsTcpForwarding

Gets a value indicating whether the client forwards IPv4 TCP now, by the setting and the server.

bool IsTcpForwarding { get; }

Property Value

bool

SessionExpirationTime

Gets when the session expires, in UTC, or null where the access manager reports no time.

DateTime? SessionExpirationTime { get; }

Property Value

DateTime?

SessionMaxTraffic

Gets the access's traffic quota, in bytes, as the server last reported it (MaxTraffic); 0 for none.

long SessionMaxTraffic { get; }

Property Value

long

SessionSplitTraffic

Gets the traffic the client sent around the tunnel in this session, by the splits and while it waited for an ad.

Traffic SessionSplitTraffic { get; }

Property Value

Traffic

SessionTraffic

Gets the traffic the tunnel carried in this session.

Traffic SessionTraffic { get; }

Property Value

Traffic

Speed

Gets the tunnel's speed now, sent and received, in bytes per second.

Traffic Speed { get; }

Property Value

Traffic

StreamPassthruCount

Gets how many TCP connections the client sent around the tunnel in this session, and QUIC flows whose domain name the client read and the domain filter excluded.

int StreamPassthruCount { get; }

Property Value

int

StreamTunnelledCount

Gets how many TCP connections the client forwarded through the tunnel in this session, and QUIC flows whose domain name the client read and the domain filter included or left to the default.

int StreamTunnelledCount { get; }

Property Value

int

TotalTraffic

Gets the access's traffic in all: what it was when the session began, and this session's since; that part is zero where the access manager does not report it.

Traffic TotalTraffic { get; }

Property Value

Traffic

UnstableCount

Gets how many times the session went from Connected to Unstable.

int UnstableCount { get; }

Property Value

int

UserReviewRecommended

Gets whether the server recommends that the app asks its user for a review: above 0 if so, 0 if not.

int UserReviewRecommended { get; }

Property Value

int

WaitingCount

Gets how many times a request failed past the unstable timeout and paused the session (Waiting), a pause while it already waits counted too.

int WaitingCount { get; }

Property Value

int