Class SessionStatus
- Namespace
- VpnHood.Core.Client.VpnServices.Abstractions
- Assembly
- VpnHood.Core.Client.VpnServices.Abstractions.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 SessionStatus
- Inheritance
-
SessionStatus
- 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
CanExtendByRewardedAd
Gets a value indicating whether a rewarded ad can extend the session now.
public required bool CanExtendByRewardedAd { get; init; }
Property Value
ChannelProtocol
Gets the protocol of the session's packet channels now.
public required ChannelProtocol ChannelProtocol { get; init; }
Property Value
ConnectorStatus
Gets the statistics of the client's connections to the server.
public required ConnectorStatus ConnectorStatus { get; init; }
Property Value
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
Error
Gets the error the session ended with, or null.
public required ApiError? Error { get; init; }
Property Value
IsAdapterStarted
Gets or sets a value indicating whether the session's VPN adapter has started.
public required bool IsAdapterStarted { get; set; }
Property Value
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; set; }
Property Value
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.
public required bool IsSecureDnsDetected { get; init; }
Property Value
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
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
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
SessionMaxTraffic
Gets the access's traffic quota, in bytes, as the server last reported it (MaxTraffic); 0 for none.
public required long SessionMaxTraffic { get; init; }
Property Value
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
SessionTraffic
Gets the traffic the tunnel carried in this session.
public required Traffic SessionTraffic { get; init; }
Property Value
Speed
Gets the tunnel's speed now, sent and received, in bytes per second.
public required Traffic Speed { get; init; }
Property Value
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
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
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
UnstableCount
public required int UnstableCount { get; init; }
Property Value
UserReviewRecommended
Gets whether the server recommends that the app asks its user for a review: above 0 if so, 0 if not.
public required int UserReviewRecommended { get; init; }
Property Value
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; init; }