Class TcpStackDiagnostics
- Namespace
- VpnHood.Net.TcpStack
- Assembly
- VpnHood.Net.TcpStack.dll
Encapsulates live diagnostic metrics and performance counters for a LocalTcpStack instance. All metrics are updated thread-safely.
public sealed class TcpStackDiagnostics
- Inheritance
-
TcpStackDiagnostics
- Inherited Members
Remarks
This type also owns the lifecycle logging for established connections: callers report the establish/release events (via VpnHood.Net.TcpStack.TcpStackDiagnostics.IncrementEstablishedConnections() with LogEstablished(IPEndPointPairValue, int), and DecrementEstablishedConnections(IPEndPointPairValue, string)), and each log line carries the count its own event left, so the running live count can never drift from what is logged. Lines are at Debug level — grep catlog for "[TcpStack]" (or "+CONN" / "-CONN").
Properties
ConfiguredMaxConnections
Gets the maximum number of simultaneous connections configured for this stack.
public int ConfiguredMaxConnections { get; }
Property Value
ConfiguredReceiveWindow
Gets the window size of receive configured for this stack profile.
public int ConfiguredReceiveWindow { get; }
Property Value
ConnectionCount
Gets the number of concurrent connections currently tracked.
public int ConnectionCount { get; }
Property Value
EstablishedConnections
Gets the number of tracked connections that have successfully established a handshake.
public int EstablishedConnections { get; }
Property Value
PeakConnectionCount
Gets the high-water mark of concurrent connections tracked during the stack's lifetime.
public int PeakConnectionCount { get; }
Property Value
TotalPipeBufferedBytes
Gets the bytes buffered across all connection reassembly pipes, summed on read: a diagnostic (the iOS memory monitor logs it), no flow-control input, nothing counted per packet.
public long TotalPipeBufferedBytes { get; }
Property Value
VerboseLogging
Gets or sets whether verbose data-path trace logging is emitted. Mirrors
LocalTcpStack.VerboseLogging (the stack forwards to this single flag).
public bool VerboseLogging { get; set; }