Added new OpenSim.ini setting: "client_throttle_max_bps" which overrides user's viewer network throttle settings
parent
d95d3b949b
commit
465d1095dd
|
@ -128,28 +128,36 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// Store the throttle multiplier for posterity.
|
// Store the throttle multiplier for posterity.
|
||||||
throttleMultiplier = userSettings.ClientThrottleMultipler;
|
throttleMultiplier = userSettings.ClientThrottleMultipler;
|
||||||
|
|
||||||
|
|
||||||
|
int throttleMaxBPS = 1500000;
|
||||||
|
if (userSettings.TotalThrottleSettings != null)
|
||||||
|
throttleMaxBPS = userSettings.TotalThrottleSettings.Max;
|
||||||
|
|
||||||
// Set up the throttle classes (min, max, current) in bits per second
|
// Set up the throttle classes (min, max, current) in bits per second
|
||||||
ResendThrottle = new LLPacketThrottle(5000, 100000, 16000, userSettings.ClientThrottleMultipler);
|
ResendThrottle = new LLPacketThrottle(5000, throttleMaxBPS / 15, 16000, userSettings.ClientThrottleMultipler);
|
||||||
LandThrottle = new LLPacketThrottle(1000, 100000, 2000, userSettings.ClientThrottleMultipler);
|
LandThrottle = new LLPacketThrottle(1000, throttleMaxBPS / 15, 2000, userSettings.ClientThrottleMultipler);
|
||||||
WindThrottle = new LLPacketThrottle(0, 100000, 0, userSettings.ClientThrottleMultipler);
|
WindThrottle = new LLPacketThrottle(0, throttleMaxBPS / 15, 0, userSettings.ClientThrottleMultipler);
|
||||||
CloudThrottle = new LLPacketThrottle(0, 100000, 0, userSettings.ClientThrottleMultipler);
|
CloudThrottle = new LLPacketThrottle(0, throttleMaxBPS / 15, 0, userSettings.ClientThrottleMultipler);
|
||||||
TaskThrottle = new LLPacketThrottle(1000, 800000, 3000, userSettings.ClientThrottleMultipler);
|
TaskThrottle = new LLPacketThrottle(1000, throttleMaxBPS / 2, 3000, userSettings.ClientThrottleMultipler);
|
||||||
AssetThrottle = new LLPacketThrottle(1000, 800000, 1000, userSettings.ClientThrottleMultipler);
|
AssetThrottle = new LLPacketThrottle(1000, throttleMaxBPS / 2, 1000, userSettings.ClientThrottleMultipler);
|
||||||
TextureThrottle = new LLPacketThrottle(1000, 800000, 4000, userSettings.ClientThrottleMultipler);
|
TextureThrottle = new LLPacketThrottle(1000, throttleMaxBPS / 2, 4000, userSettings.ClientThrottleMultipler);
|
||||||
|
|
||||||
// Total Throttle trumps all - it is the number of bits in total that are allowed to go out per second.
|
|
||||||
|
// Total Throttle trumps all - it is the number of bits in total that are allowed to go out per second.
|
||||||
|
|
||||||
|
|
||||||
ThrottleSettings totalThrottleSettings = userSettings.TotalThrottleSettings;
|
ThrottleSettings totalThrottleSettings = userSettings.TotalThrottleSettings;
|
||||||
if (null == totalThrottleSettings)
|
if (null == totalThrottleSettings)
|
||||||
{
|
{
|
||||||
totalThrottleSettings = new ThrottleSettings(0, 1500000, 28000);
|
totalThrottleSettings = new ThrottleSettings(0, throttleMaxBPS, 28000);
|
||||||
}
|
}
|
||||||
|
|
||||||
TotalThrottle
|
TotalThrottle
|
||||||
= new LLPacketThrottle(
|
= new LLPacketThrottle(
|
||||||
totalThrottleSettings.Min, totalThrottleSettings.Max, totalThrottleSettings.Current,
|
totalThrottleSettings.Min, totalThrottleSettings.Max, totalThrottleSettings.Current,
|
||||||
userSettings.ClientThrottleMultipler);
|
userSettings.ClientThrottleMultipler);
|
||||||
|
|
||||||
throttleTimer = new Timer((int) (throttletimems/throttleTimeDivisor));
|
throttleTimer = new Timer((int)(throttletimems / throttleTimeDivisor));
|
||||||
throttleTimer.Elapsed += ThrottleTimerElapsed;
|
throttleTimer.Elapsed += ThrottleTimerElapsed;
|
||||||
throttleTimer.Start();
|
throttleTimer.Start();
|
||||||
|
|
||||||
|
|
|
@ -152,11 +152,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
ClientStackUserSettings userSettings = new ClientStackUserSettings();
|
ClientStackUserSettings userSettings = new ClientStackUserSettings();
|
||||||
|
|
||||||
IConfig config = configSource.Configs["ClientStack.LindenUDP"];
|
IConfig config = configSource.Configs["ClientStack.LindenUDP"];
|
||||||
|
|
||||||
if (config != null)
|
if (config != null)
|
||||||
{
|
{
|
||||||
|
if (config.Contains("client_throttle_max_bps"))
|
||||||
|
{
|
||||||
|
int maxBPS = config.GetInt("client_throttle_max_bps", 1500000);
|
||||||
|
userSettings.TotalThrottleSettings = new ThrottleSettings(0, maxBPS,
|
||||||
|
maxBPS > 28000 ? maxBPS : 28000);
|
||||||
|
}
|
||||||
|
|
||||||
if (config.Contains("client_throttle_multiplier"))
|
if (config.Contains("client_throttle_multiplier"))
|
||||||
userSettings.ClientThrottleMultipler = config.GetFloat("client_throttle_multiplier");
|
userSettings.ClientThrottleMultipler = config.GetFloat("client_throttle_multiplier");
|
||||||
if (config.Contains("client_socket_rcvbuf_size"))
|
if (config.Contains("client_socket_rcvbuf_size"))
|
||||||
m_clientSocketReceiveBuffer = config.GetInt("client_socket_rcvbuf_size");
|
m_clientSocketReceiveBuffer = config.GetInt("client_socket_rcvbuf_size");
|
||||||
}
|
}
|
||||||
|
|
|
@ -374,6 +374,9 @@
|
||||||
;
|
;
|
||||||
; client_socket_rcvbuf_size = 8388608
|
; client_socket_rcvbuf_size = 8388608
|
||||||
|
|
||||||
|
; Maximum bits per second to send to any single client. This will override the user's viewer preference settings.
|
||||||
|
|
||||||
|
; client_throttle_max_bps = 1500000
|
||||||
|
|
||||||
[Chat]
|
[Chat]
|
||||||
; Controls whether the chat module is enabled. Default is true.
|
; Controls whether the chat module is enabled. Default is true.
|
||||||
|
|
Loading…
Reference in New Issue