Add "debug lludp throttle set" command to allow setting of parameters at runtime
Can currently only set adaptive true|false, where adaptive = falseghosts
parent
8e5a62c8e7
commit
f7fef5bc3b
|
@ -779,6 +779,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
"Return status information about throttles.",
|
"Return status information about throttles.",
|
||||||
HandleThrottleStatusCommand);
|
HandleThrottleStatusCommand);
|
||||||
|
|
||||||
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
|
"Debug",
|
||||||
|
false,
|
||||||
|
"debug lludp throttle set",
|
||||||
|
"debug lludp throttle 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'",
|
||||||
|
HandleThrottleSetCommand);
|
||||||
|
|
||||||
MainConsole.Instance.Commands.AddCommand(
|
MainConsole.Instance.Commands.AddCommand(
|
||||||
"Debug",
|
"Debug",
|
||||||
false,
|
false,
|
||||||
|
@ -850,6 +859,46 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void HandleThrottleSetCommand(string module, string[] args)
|
||||||
|
{
|
||||||
|
if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != Scene)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (args.Length != 8)
|
||||||
|
{
|
||||||
|
MainConsole.Instance.OutputFormat(
|
||||||
|
"Usage: debug lludp throttle set <param> <value> <avatar-first-name> <avatar-last-name>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string param = args[4];
|
||||||
|
string rawValue = args[5];
|
||||||
|
string firstName = args[6];
|
||||||
|
string lastName = args[7];
|
||||||
|
|
||||||
|
if (param == "adaptive")
|
||||||
|
{
|
||||||
|
bool newValue;
|
||||||
|
if (!ConsoleUtil.TryParseConsoleBool(MainConsole.Instance, rawValue, out newValue))
|
||||||
|
return;
|
||||||
|
|
||||||
|
Scene.ForEachScenePresence(sp =>
|
||||||
|
{
|
||||||
|
if (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", Scene.Name);
|
||||||
|
|
||||||
|
LLUDPClient udpClient = ((LLClientView)sp.ControllingClient).UDPClient;
|
||||||
|
udpClient.FlowThrottle.Enabled = newValue;
|
||||||
|
// udpClient.FlowThrottle.MaxDripRate = 0;
|
||||||
|
// udpClient.FlowThrottle.AdjustedDripRate = 0;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void HandleThrottleStatusCommand(string module, string[] args)
|
private void HandleThrottleStatusCommand(string module, string[] args)
|
||||||
{
|
{
|
||||||
if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != Scene)
|
if (SceneManager.Instance.CurrentScene != null && SceneManager.Instance.CurrentScene != Scene)
|
||||||
|
@ -865,7 +914,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
string lastName = args[5];
|
string lastName = args[5];
|
||||||
|
|
||||||
Scene.ForEachScenePresence(sp =>
|
Scene.ForEachScenePresence(sp =>
|
||||||
{
|
{
|
||||||
if (sp.Firstname == firstName && sp.Lastname == lastName)
|
if (sp.Firstname == firstName && sp.Lastname == lastName)
|
||||||
{
|
{
|
||||||
MainConsole.Instance.OutputFormat(
|
MainConsole.Instance.OutputFormat(
|
||||||
|
|
|
@ -340,10 +340,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
public Int64 MaxDripRate
|
public Int64 MaxDripRate
|
||||||
{
|
{
|
||||||
get { return (m_maxDripRate == 0 ? m_totalDripRequest : m_maxDripRate); }
|
get { return (m_maxDripRate == 0 ? m_totalDripRequest : m_maxDripRate); }
|
||||||
protected set { m_maxDripRate = (value == 0 ? 0 : Math.Max(value,m_minimumFlow)); }
|
set { m_maxDripRate = (value == 0 ? 0 : Math.Max(value,m_minimumFlow)); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Enabled { get; private set; }
|
public bool Enabled { get; set; }
|
||||||
|
|
||||||
// <summary>
|
// <summary>
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue