Table of Contents

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

int

ConfiguredReceiveWindow

Gets the window size of receive configured for this stack profile.

public int ConfiguredReceiveWindow { get; }

Property Value

int

ConnectionCount

Gets the number of concurrent connections currently tracked.

public int ConnectionCount { get; }

Property Value

int

EstablishedConnections

Gets the number of tracked connections that have successfully established a handshake.

public int EstablishedConnections { get; }

Property Value

int

PeakConnectionCount

Gets the high-water mark of concurrent connections tracked during the stack's lifetime.

public int PeakConnectionCount { get; }

Property Value

int

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

long

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; }

Property Value

bool