Class UdpRelayOptions
Settings for one UdpRelayListener. Every limit has a safe default, so a listener with only an address, a port, and a destination is bounded.
Inherited Members
Namespace: Titanium.Web.Proxy.Udp
Assembly: Titanium.Web.Proxy.dll
Syntax
public sealed class UdpRelayOptions
Fields
| Edit this page View SourceDefaultIdleTimeoutSeconds
Default idle timeout of a session, in seconds.
Declaration
public const int DefaultIdleTimeoutSeconds = 30
Field Value
| Type | Description |
|---|---|
| int |
DefaultMaxDatagramBytes
Default largest datagram payload relayed in either direction.
Declaration
public const int DefaultMaxDatagramBytes = 1500
Field Value
| Type | Description |
|---|---|
| int |
DefaultMaxDatagramsPerSecondPerClient
Default datagrams per second one client address may send.
Declaration
public const int DefaultMaxDatagramsPerSecondPerClient = 10000
Field Value
| Type | Description |
|---|---|
| int |
DefaultMaxSessions
Default number of sessions the listener holds at once.
Declaration
public const int DefaultMaxSessions = 10000
Field Value
| Type | Description |
|---|---|
| int |
DefaultMaxSessionsPerClient
Default number of sessions one client address (an IPv6 client counts by /64) may hold.
Declaration
public const int DefaultMaxSessionsPerClient = 256
Field Value
| Type | Description |
|---|---|
| int |
MaxAllowedDatagramBytes
Largest value accepted for MaxDatagramBytes, the UDP payload limit.
Declaration
public const int MaxAllowedDatagramBytes = 65507
Field Value
| Type | Description |
|---|---|
| int |
Properties
| Edit this page View SourceBindAddress
Address to bind. IPv6Any also accepts IPv4 clients (dual mode).
Declaration
public IPAddress BindAddress { get; set; }
Property Value
| Type | Description |
|---|---|
| IPAddress |
ClusterId
Cluster whose load balancer picks the upstream once per new session. Needs a cluster manager and a load balancer on the listener. Exclusive with ForwardHost.
Declaration
public string? ClusterId { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ForwardHost
Fixed upstream host (a name or an IP literal). Exclusive with ClusterId.
Declaration
public string? ForwardHost { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
ForwardPort
Fixed upstream port, used with ForwardHost.
Declaration
public int ForwardPort { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
IdleTimeout
A session with no datagram in either direction for this long is closed.
Declaration
public TimeSpan IdleTimeout { get; set; }
Property Value
| Type | Description |
|---|---|
| TimeSpan |
MaxDatagramBytes
Largest payload relayed. A bigger datagram, from a client or an upstream, is dropped.
Declaration
public int MaxDatagramBytes { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
MaxDatagramsPerSecondPerClient
Datagrams per second one client address may send, with a one second burst.
Declaration
public int MaxDatagramsPerSecondPerClient { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
MaxSessions
Most sessions open at once. A datagram that would open another is dropped.
Declaration
public int MaxSessions { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
MaxSessionsPerClient
Most sessions one client address may hold at once.
Declaration
public int MaxSessionsPerClient { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
Port
Port to bind. Zero lets the OS pick; read the chosen port from LocalEndPoint.
Declaration
public int Port { get; set; }
Property Value
| Type | Description |
|---|---|
| int |