Table of Contents

Class AppSessionStatus

Namespace
VpnHood.AppLib.Api.Sessions
Assembly
VpnHood.AppLib.Api.dll

Represents a session's state as the VPN service reports it to the app: its traffic, its channels, and what its access allows.

public class AppSessionStatus
Inheritance
AppSessionStatus
Inherited Members

Properties

ActiveClientCount

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

public required int? ActiveClientCount { get; init; }

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.

public required bool CanChangeTcpForwarding { get; init; }

Property Value

bool

CanExtendByRewardedAd

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

public required bool CanExtendByRewardedAd { get; init; }

Property Value

bool

ChannelProtocol

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

public required ChannelProtocol ChannelProtocol { get; init; }

Property Value

ChannelProtocol

ConnectorStat

Gets the statistics of the connections the client opens to the server.

public required AppConnectorStat ConnectorStat { get; init; }

Property Value

AppConnectorStat

CycleTraffic

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

public required Traffic CycleTraffic { get; init; }

Property Value

Traffic

IsDropQuic

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

public required bool IsDropQuic { get; init; }

Property Value

bool

IsTcpForwarding

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

public required bool IsTcpForwarding { get; init; }

Property Value

bool

PacketChannelCount

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.

public required int PacketChannelCount { get; init; }

Property Value

int

SessionExpirationTime

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

public required DateTime? SessionExpirationTime { get; init; }

Property Value

DateTime?

SessionMaxTraffic

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

public required long SessionMaxTraffic { get; init; }

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.

public required Traffic SessionSplitTraffic { get; init; }

Property Value

Traffic

SessionTraffic

Gets the traffic the tunnel carried in this session.

public required Traffic SessionTraffic { get; init; }

Property Value

Traffic

Speed

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

public required Traffic Speed { get; init; }

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.

public required int StreamPassthruCount { get; init; }

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.

public required int StreamTunnelledCount { get; init; }

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.

public required Traffic TotalTraffic { get; init; }

Property Value

Traffic

UnstableCount

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

public required int UnstableCount { get; set; }

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.

public required int WaitingCount { get; set; }

Property Value

int