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
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
CanExtendByRewardedAd
Gets a value indicating whether a rewarded ad can extend the session now.
bool CanExtendByRewardedAd { get; }
Property Value
ChannelProtocol
Gets the protocol of the session's packet channels now.
ChannelProtocol ChannelProtocol { get; }
Property Value
ConnectorStatus
Gets the statistics of the client's connections to the server.
ConnectorStat ConnectorStatus { get; }
Property Value
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
Error
Gets the error that ended the session, or null.
ApiError? Error { get; }
Property Value
IsAdapterStarted
Gets a value indicating whether the session's VPN adapter has started.
bool IsAdapterStarted { get; }
Property Value
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
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
IsTcpForwarding
Gets a value indicating whether the client forwards IPv4 TCP now, by the setting and the server.
bool IsTcpForwarding { get; }
Property Value
SessionExpirationTime
Gets when the session expires, in UTC, or null where the access manager reports no time.
DateTime? SessionExpirationTime { get; }
Property Value
SessionMaxTraffic
Gets the access's traffic quota, in bytes, as the server last reported it (MaxTraffic); 0 for none.
long SessionMaxTraffic { get; }
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.
Traffic SessionSplitTraffic { get; }
Property Value
SessionTraffic
Gets the traffic the tunnel carried in this session.
Traffic SessionTraffic { get; }
Property Value
Speed
Gets the tunnel's speed now, sent and received, in bytes per second.
Traffic Speed { get; }
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.
int StreamPassthruCount { get; }
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.
int StreamTunnelledCount { get; }
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.
Traffic TotalTraffic { get; }
Property Value
UnstableCount
int UnstableCount { get; }
Property Value
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
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; }