Add throttle-max option to "debug lludp throttles set" to allow runtime setting of default and existing client throttles.
Doesn't yet adjust until clients submit new throttle settings.ghosts
							parent
							
								
									a529bc8f2a
								
							
						
					
					
						commit
						649891a0d8
					
				|  | @ -150,7 +150,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                 "debug lludp throttles set", | ||||
|                 "debug lludp throttles set <param> <value> [<avatar-first-name> <avatar-last-name>]", | ||||
|                 "Set a throttle parameter for the given client.", | ||||
|                 "Only current setting is 'adaptive' which must be 'true' or 'false'", | ||||
|                 "Avaiable parameters are:\n" | ||||
|                 + "adaptive - true/false, control adaptive throttle setting\n" | ||||
|                 + "throttle-max - kbps, control maximum throttle setting for current and future clients\n", | ||||
|                 HandleThrottleSetCommand); | ||||
| 
 | ||||
|             m_console.Commands.AddCommand( | ||||
|  | @ -182,6 +184,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|             cdl.AddRow( | ||||
|                 "Max scene throttle",  | ||||
|                 m_udpServer.MaxTotalDripRate != 0 ? string.Format("{0} kbps", m_udpServer.MaxTotalDripRate * 8 / 1000) : "unset"); | ||||
|             cdl.AddRow( | ||||
|                 "Max new client throttle",  | ||||
|                 string.Format("{0} kbps", m_udpServer.ThrottleRates.Total * 8 / 1000)); | ||||
| 
 | ||||
|             m_console.Output(cdl.ToString()); | ||||
| 
 | ||||
|  | @ -357,6 +362,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                     } | ||||
|                 }); | ||||
|             } | ||||
|             else if (param == "throttle-max") | ||||
|             { | ||||
|                 int newValue; | ||||
|                 if (!ConsoleUtil.TryParseConsoleInt(MainConsole.Instance, rawValue, out newValue)) | ||||
|                     return; | ||||
| 
 | ||||
|                 int newThrottleMaxKbps = newValue * 1000 / 8; | ||||
|                 m_udpServer.ThrottleRates.Total = newThrottleMaxKbps; | ||||
| 
 | ||||
|                 m_udpServer.Scene.ForEachScenePresence(sp => | ||||
|                 { | ||||
|                     if (all || (sp.Firstname == firstName && sp.Lastname == lastName)) | ||||
|                     { | ||||
|                         MainConsole.Instance.OutputFormat( | ||||
|                             "Setting param {0} to {1} for {2} ({3}) in {4}", | ||||
|                             param, newValue, sp.Name, sp.IsChildAgent ? "child" : "root", m_udpServer.Scene.Name); | ||||
| 
 | ||||
|                         LLUDPClient udpClient = ((LLClientView)sp.ControllingClient).UDPClient; | ||||
|                         udpClient.FlowThrottle.RequestedDripRate = newThrottleMaxKbps; | ||||
|                         udpClient.FlowThrottle.MaxDripRate = newThrottleMaxKbps; | ||||
|                     } | ||||
|                 }); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         private void HandleThrottleGetCommand(string module, string[] args) | ||||
|  | @ -392,7 +420,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
|                         sp.Name, sp.IsChildAgent ? "child" : "root", m_udpServer.Scene.Name); | ||||
| 
 | ||||
|                     LLUDPClient udpClient = ((LLClientView)sp.ControllingClient).UDPClient; | ||||
|                     MainConsole.Instance.OutputFormat("Adaptive throttle: {0}", udpClient.FlowThrottle.Enabled); | ||||
| 
 | ||||
|                     ConsoleDisplayList cdl = new ConsoleDisplayList(); | ||||
|                     cdl.AddRow("Adaptive throttle", udpClient.FlowThrottle.Enabled); | ||||
|                     cdl.AddRow("Max throttle", string.Format("{0} kbps", udpClient.FlowThrottle.RequestedDripRate / 8 * 1000)); | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)