Throttling
Throttling feature
General overview
Throttling feature depends on two entities: Session and Speed Limit.
Session is a group of packages between local process and remote servers. For TCP protocol Session is the same with TCP connection and rules will be applied when application is establishing the connection but UPD protocol works a bit different. UDP protocol has no determined session and Netfilter groups packages by the pair of the local and remote IP address plus Port. It works by this way for performance reasons and this approach is available because applications with UPD communication listen the same local port for NAT passthrough from the server side.
All Sessions can be applied to the one of pre-registered Speed Limits. SDK assigns Speed Limit on the Session start and all other work occurs on the Netfilter kernel driver level.
Throttling is applied independent with bypass and route via rules.
Throttling is applied to the new Sessions only. Existed Sessions will not be affected.
Additional info about common mistakes can be found on the page Common issues.
Commands
Requests presented below are used for configuring throttling:
RemoveProcess - removes process from throttling list
var throttlingRequest = new ThrottlingRequest
{
RemoveProcess = new List<RemoveProcessRequest>
{
new RemoveProcessRequest { Process = "processName" },
},
};RemoveAllProcesses - removes all processes from throttling list
ClearSpeedLimits - clears speed limits
RemoveSpeedLimit - removes speed limits
RemoveAllSpeedLimits - removes speed limits
DefaultSpeedLimit - sets the default speed limit
SetSpeedLimit - sets the speed limit
AddProcesses - sets the process list
Enable - enables throttling
Disable - disables throttling
ConfigureThrottling
Sends throttling configuration to the service. Important: Throttling feature can be applied only thru the connected tunnel.
Last updated
Was this helpful?