Table of Contents

Class ForwardingManagerOptions

Namespace
VpnHood.Core.Tunneling.Forwarding
Assembly
VpnHood.Core.Tunneling.dll

Represents the options of a ForwardingManager.

public class ForwardingManagerOptions
Inheritance
ForwardingManagerOptions
Inherited Members

Properties

IcmpTimeout

Gets how long a ping's destination is remembered without a packet, after which its next packet goes to the callbacks as a new one.

public required TimeSpan IcmpTimeout { get; init; }

Property Value

TimeSpan

IsPingSupported

Gets a value indicating whether the manager forwards pings; otherwise, it refuses them.

public required bool IsPingSupported { get; init; }

Property Value

bool

LogScope

Gets the log scope of its lines, or null.

public required LogScope? LogScope { get; init; }

Property Value

LogScope

MaxPingClientCount

Gets the most pings the manager keeps open at once.

public required int MaxPingClientCount { get; init; }

Property Value

int

MaxUdpClientCount

Gets the most UDP sockets the manager keeps open at once, for packets other than DNS.

public required int MaxUdpClientCount { get; init; }

Property Value

int

MaxUdpDnsClientCount

Gets the most UDP sockets the manager keeps open at once for DNS, apart from the others. The default is MaxUdpDnsClientCount.

public int MaxUdpDnsClientCount { get; init; }

Property Value

int

PacketForwarderCallbacks

Gets what hears of the destinations its UDP and pings reach, or null.

public required IPacketForwarderCallbacks? PacketForwarderCallbacks { get; init; }

Property Value

IPacketForwarderCallbacks

PacketQueueCapacity

Gets the number of packets each UDP socket's send queue holds.

public required int PacketQueueCapacity { get; init; }

Property Value

int

UdpBufferSize

Gets the UDP sockets' send and receive buffer sizes, or null for the system's.

public required TransferBufferSize? UdpBufferSize { get; init; }

Property Value

TransferBufferSize?

UdpTimeout

Gets how long a UDP socket, or a UDP destination, may stay idle before the manager drops it; a DNS socket goes after UdpDnsTimeout instead.

public required TimeSpan UdpTimeout { get; init; }

Property Value

TimeSpan