cosmetics

master
UbitUmarov 2020-07-15 19:13:22 +01:00
parent 6a27f3fb20
commit 402186844c
3 changed files with 69 additions and 96 deletions

View File

@ -169,12 +169,12 @@ namespace OpenSim.Framework
}
private static uint nextXferID = 5000;
private static Random randomClass = new ThreadSafeRandom();
private static readonly Random randomClass = new ThreadSafeRandom();
// Get a list of invalid file characters (OS dependent)
private static string regexInvalidFileChars = "[" + new String(Path.GetInvalidFileNameChars()) + "]";
private static string regexInvalidPathChars = "[" + new String(Path.GetInvalidPathChars()) + "]";
private static object XferLock = new object();
private static readonly string regexInvalidFileChars = "[" + new String(Path.GetInvalidFileNameChars()) + "]";
private static readonly string regexInvalidPathChars = "[" + new String(Path.GetInvalidPathChars()) + "]";
private static readonly object XferLock = new object();
/// <summary>
/// Thread pool used for Util.FireAndForget if FireAndForgetMethod.SmartThreadPool is used
@ -703,8 +703,10 @@ namespace OpenSim.Framework
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
XmlTextWriter xtw = new XmlTextWriter(sw);
xtw.Formatting = Formatting.Indented;
XmlTextWriter xtw = new XmlTextWriter(sw)
{
Formatting = Formatting.Indented
};
try
{
@ -1316,8 +1318,7 @@ namespace OpenSim.Framework
if(String.IsNullOrWhiteSpace(dnsAddress))
return null;
IPAddress ia = null;
if(dnscache.TryGetValue(dnsAddress, out ia) && ia != null)
if(dnscache.TryGetValue(dnsAddress, out IPAddress ia) && ia != null)
{
dnscache.AddOrUpdate(dnsAddress, ia, 300);
return ia;
@ -1384,9 +1385,8 @@ namespace OpenSim.Framework
{
if(String.IsNullOrWhiteSpace(hostname))
return null;
IPAddress ia = null;
if(dnscache.TryGetValue(hostname, out ia) && ia != null)
if(dnscache.TryGetValue(hostname, out IPAddress ia) && ia != null)
{
dnscache.AddOrUpdate(hostname, ia, 300);
return getEndPoint(ia, port);
@ -1497,8 +1497,7 @@ namespace OpenSim.Framework
url = String.Empty;
assetID = String.Empty;
UUID uuid;
if (UUID.TryParse(id, out uuid))
if (UUID.TryParse(id, out UUID uuid))
{
assetID = uuid.ToString();
return false;
@ -1507,25 +1506,11 @@ namespace OpenSim.Framework
if ((id.Length == 0) || (id[0] != 'h' && id[0] != 'H'))
return false;
Uri assetUri;
if (!Uri.TryCreate(id, UriKind.Absolute, out assetUri) || assetUri.Scheme != Uri.UriSchemeHttp)
if (!Uri.TryCreate(id, UriKind.Absolute, out Uri assetUri) || assetUri.Scheme != Uri.UriSchemeHttp)
return false;
// Simian
if (assetUri.Query != string.Empty)
{
NameValueCollection qscoll = HttpUtility.ParseQueryString(assetUri.Query);
assetID = qscoll["id"];
if (assetID != null)
url = id.Replace(assetID, ""); // Malformed again, as simian expects
else
url = id; // !!! best effort
}
else // robust
{
url = "http://" + assetUri.Authority;
assetID = assetUri.LocalPath.Trim(new char[] { '/' });
}
url = "http://" + assetUri.Authority;
assetID = assetUri.LocalPath.Trim(new char[] { '/' });
if (!UUID.TryParse(assetID, out uuid))
return false;
@ -1538,7 +1523,7 @@ namespace OpenSim.Framework
/// </summary>
/// <param name="path">path</param>
/// <returns>safe path</returns>
public static string safePath(string path)
public static string SafePath(string path)
{
return Regex.Replace(path, regexInvalidPathChars, String.Empty);
}
@ -1548,7 +1533,7 @@ namespace OpenSim.Framework
/// </summary>
/// <param name="path">filename</param>
/// <returns>safe filename</returns>
public static string safeFileName(string filename)
public static string SafeFileName(string filename)
{
return Regex.Replace(filename, regexInvalidFileChars, String.Empty);
;
@ -1600,7 +1585,7 @@ namespace OpenSim.Framework
return "./OpenSim.log";
}
public static string statsLogFile()
public static string StatsLogFile()
{
foreach (IAppender appender in LogManager.GetRepository().GetAppenders())
{
@ -2102,9 +2087,11 @@ namespace OpenSim.Framework
public static XmlRpcResponse CreateUnknownUserErrorResponse()
{
XmlRpcResponse response = new XmlRpcResponse();
Hashtable responseData = new Hashtable();
responseData["error_type"] = "unknown_user";
responseData["error_desc"] = "The user requested is not in the database";
Hashtable responseData = new Hashtable()
{
["error_type"] = "unknown_user",
["error_desc"] = "The user requested is not in the database"
};
response.Value = responseData;
return response;
@ -2172,11 +2159,8 @@ namespace OpenSim.Framework
public static void FakeParcelIDToGlobalPosition(UUID parcelID, out uint x, out uint y)
{
ulong regionHandle;
uint rx, ry;
ParseFakeParcelID(parcelID, out regionHandle, out x, out y);
Utils.LongToUInts(regionHandle, out rx, out ry);
ParseFakeParcelID(parcelID, out ulong regionHandle, out x, out y);
Utils.LongToUInts(regionHandle, out uint rx, out uint ry);
x += rx;
y += ry;
@ -2837,11 +2821,13 @@ namespace OpenSim.Framework
return;
}
STPStartInfo startInfo = new STPStartInfo();
startInfo.ThreadPoolName = "Util";
startInfo.IdleTimeout = 20000;
startInfo.MaxWorkerThreads = maxThreads;
startInfo.MinWorkerThreads = minThreads;
STPStartInfo startInfo = new STPStartInfo()
{
ThreadPoolName = "Util",
IdleTimeout = 20000,
MaxWorkerThreads = maxThreads,
MinWorkerThreads = minThreads
};
m_ThreadPool = new SmartThreadPool(startInfo);
m_threadPoolWatchdog = new Timer(ThreadPoolWatchdog, null, 0, 1000);
@ -2877,7 +2863,7 @@ namespace OpenSim.Framework
{
public long ThreadFuncNum { get; set; }
public string StackTrace { get; set; }
private string context;
private readonly string context;
public bool LogThread { get; set; }
public IWorkItemResult WorkItem { get; set; }
@ -2948,7 +2934,6 @@ namespace OpenSim.Framework
private static long numQueuedThreadFuncs = 0;
private static long numRunningThreadFuncs = 0;
private static long numTotalThreadFuncsCalled = 0;
private static Int32 threadFuncOverloadMode = 0;
public static long TotalQueuedFireAndForgetCalls { get { return numQueuedThreadFuncs; } }
public static long TotalRunningFireAndForgetCalls { get { return numRunningThreadFuncs; } }
@ -2971,8 +2956,7 @@ namespace OpenSim.Framework
m_log.WarnFormat("Timeout in threadfunc {0} ({1}) {2}", t.ThreadFuncNum, t.Thread.Name, t.GetStackTrace());
t.Abort();
ThreadInfo dummy;
activeThreads.TryRemove(entry.Key, out dummy);
activeThreads.TryRemove(entry.Key, out ThreadInfo dummy);
// It's possible that the thread won't abort. To make sure the thread pool isn't
// depleted, increase the pool size.
@ -2988,14 +2972,14 @@ namespace OpenSim.Framework
return new Dictionary<string, int>(m_fireAndForgetCallsMade);
}
private static Dictionary<string, int> m_fireAndForgetCallsMade = new Dictionary<string, int>();
private static readonly Dictionary<string, int> m_fireAndForgetCallsMade = new Dictionary<string, int>();
public static Dictionary<string, int> GetFireAndForgetCallsInProgress()
{
return new Dictionary<string, int>(m_fireAndForgetCallsInProgress);
}
private static Dictionary<string, int> m_fireAndForgetCallsInProgress = new Dictionary<string, int>();
private static readonly Dictionary<string, int> m_fireAndForgetCallsInProgress = new Dictionary<string, int>();
public static void FireAndForget(System.Threading.WaitCallback callback)
{
@ -3041,7 +3025,7 @@ namespace OpenSim.Framework
try
{
if ((loggingEnabled || (threadFuncOverloadMode == 1)) && threadInfo.LogThread)
if (loggingEnabled && threadInfo.LogThread)
m_log.DebugFormat("Run threadfunc {0} (Queued {1}, Running {2})", threadFuncNum, numQueued1, numRunning1);
Culture.SetCurrentCulture();
@ -3059,7 +3043,7 @@ namespace OpenSim.Framework
Interlocked.Decrement(ref numRunningThreadFuncs);
threadInfo.Ended();
activeThreads.TryRemove(threadFuncNum, out ThreadInfo dummy);
if ((loggingEnabled || (threadFuncOverloadMode == 1)) && threadInfo.LogThread)
if (loggingEnabled && threadInfo.LogThread)
m_log.DebugFormat("Exit threadfunc {0} ({1})", threadFuncNum, FormatDuration(threadInfo.Elapsed()));
callback = null;
o = null;
@ -3266,18 +3250,19 @@ namespace OpenSim.Framework
if (m_ThreadPool == null)
return null;
STPInfo stpi = new STPInfo();
stpi.Name = m_ThreadPool.Name;
stpi.STPStartInfo = m_ThreadPool.STPStartInfo;
stpi.IsIdle = m_ThreadPool.IsIdle;
stpi.IsShuttingDown = m_ThreadPool.IsShuttingdown;
stpi.MaxThreads = m_ThreadPool.MaxThreads;
stpi.MinThreads = m_ThreadPool.MinThreads;
stpi.InUseThreads = m_ThreadPool.InUseThreads;
stpi.ActiveThreads = m_ThreadPool.ActiveThreads;
stpi.WaitingCallbacks = m_ThreadPool.WaitingCallbacks;
stpi.MaxConcurrentWorkItems = m_ThreadPool.Concurrency;
STPInfo stpi = new STPInfo()
{
Name = m_ThreadPool.Name,
STPStartInfo = m_ThreadPool.STPStartInfo,
IsIdle = m_ThreadPool.IsIdle,
IsShuttingDown = m_ThreadPool.IsShuttingdown,
MaxThreads = m_ThreadPool.MaxThreads,
MinThreads = m_ThreadPool.MinThreads,
InUseThreads = m_ThreadPool.InUseThreads,
ActiveThreads = m_ThreadPool.ActiveThreads,
WaitingCallbacks = m_ThreadPool.WaitingCallbacks,
MaxConcurrentWorkItems = m_ThreadPool.Concurrency
};
return stpi;
}
@ -3524,7 +3509,6 @@ namespace OpenSim.Framework
public static UUID ReadUUID(XmlReader reader, string name)
{
UUID id;
string idStr;
reader.ReadStartElement(name);
@ -3535,7 +3519,8 @@ namespace OpenSim.Framework
idStr = reader.ReadElementString("UUID");
else // no leading tag
idStr = reader.ReadContentAsString();
UUID.TryParse(idStr, out id);
UUID.TryParse(idStr, out UUID id);
reader.ReadEndElement();
return id;

View File

@ -77,12 +77,7 @@ namespace OpenSim
Culture.SetCurrentCulture();
Culture.SetDefaultCurrentCulture();
if(Util.IsWindows())
ServicePointManager.DefaultConnectionLimit = 32;
else
{
ServicePointManager.DefaultConnectionLimit = 12;
}
ServicePointManager.DefaultConnectionLimit = 64;
try { ServicePointManager.DnsRefreshTimeout = 5000; } catch { }
ServicePointManager.Expect100Continue = false;
@ -127,14 +122,12 @@ namespace OpenSim
int iocpThreadsMin = 1000;
int iocpThreadsMax = 2000; // may need further adjustment to match other CLR
int currentMinWorkerThreads, currentMinIocpThreads;
System.Threading.ThreadPool.GetMinThreads(out currentMinWorkerThreads, out currentMinIocpThreads);
System.Threading.ThreadPool.GetMinThreads(out int currentMinWorkerThreads, out int currentMinIocpThreads);
m_log.InfoFormat(
"[OPENSIM MAIN]: Runtime gave us {0} min worker threads and {1} min IOCP threads",
currentMinWorkerThreads, currentMinIocpThreads);
int workerThreads, iocpThreads;
System.Threading.ThreadPool.GetMaxThreads(out workerThreads, out iocpThreads);
System.Threading.ThreadPool.GetMaxThreads(out int workerThreads, out int iocpThreads);
m_log.InfoFormat("[OPENSIM MAIN]: Runtime gave us {0} max worker threads and {1} max IOCP threads", workerThreads, iocpThreads);
if (workerThreads < workerThreadsMin)

View File

@ -114,8 +114,8 @@ namespace OpenSim
}
string asyncCallMethodStr = startupConfig.GetString("async_call_method", String.Empty);
FireAndForgetMethod asyncCallMethod;
if (!String.IsNullOrEmpty(asyncCallMethodStr) && Utils.EnumTryParse<FireAndForgetMethod>(asyncCallMethodStr, out asyncCallMethod))
if (!String.IsNullOrEmpty(asyncCallMethodStr) &&
Utils.EnumTryParse<FireAndForgetMethod>(asyncCallMethodStr, out FireAndForgetMethod asyncCallMethod))
Util.FireAndForgetMethod = asyncCallMethod;
stpMinThreads = startupConfig.GetInt("MinPoolThreads", 2 );
@ -266,9 +266,11 @@ namespace OpenSim
// Start timer script (run a script every xx seconds)
if (m_timedScript != "disabled")
{
m_scriptTimer = new System.Timers.Timer();
m_scriptTimer.Enabled = true;
m_scriptTimer.Interval = m_timeInterval*1000;
m_scriptTimer = new System.Timers.Timer()
{
Enabled = true,
Interval = m_timeInterval*1000,
};
m_scriptTimer.Elapsed += RunAutoTimerScript;
}
}
@ -784,8 +786,7 @@ namespace OpenSim
regInfo = new RegionInfo(regionName, regionFile, false, ConfigSource.Source, regionName);
}
Scene existingScene;
if (SceneManager.TryGetScene(regInfo.RegionID, out existingScene))
if (SceneManager.TryGetScene(regInfo.RegionID, out Scene existingScene))
{
MainConsole.Instance.Output(
"ERROR: Cannot create region {0} with ID {1}, this ID is already assigned to region {2}",
@ -795,8 +796,7 @@ namespace OpenSim
}
bool changed = PopulateRegionEstateInfo(regInfo);
IScene scene;
CreateRegion(regInfo, true, out scene);
CreateRegion(regInfo, true, out IScene scene);
if (changed)
m_estateDataService.StoreEstateSettings(regInfo.EstateSettings);
@ -1279,13 +1279,11 @@ namespace OpenSim
protected void CreateEstateCommand(string module, string[] args)
{
string response = null;
UUID userID;
if (args.Length == 2)
{
response = "No user specified.";
}
else if (!UUID.TryParse(args[2], out userID))
else if (!UUID.TryParse(args[2], out UUID userID))
{
response = String.Format("{0} is not a valid UUID", args[2]);
}
@ -1341,8 +1339,7 @@ namespace OpenSim
}
else
{
int estateId;
if (!int.TryParse(args[3], out estateId))
if (!int.TryParse(args[3], out int estateId))
{
response = String.Format("\"{0}\" is not a valid ID for an Estate", args[3]);
}
@ -1363,8 +1360,7 @@ namespace OpenSim
if (args.Length == 5)
{
// attempt to get account by UUID
UUID u;
if (UUID.TryParse(s1, out u))
if (UUID.TryParse(s1, out UUID u))
{
account = scene.UserAccountService.GetUserAccount(scopeID, u);
if (account == null)
@ -1414,8 +1410,7 @@ namespace OpenSim
}
else
{
int estateId;
if (!int.TryParse(args[3], out estateId))
if (!int.TryParse(args[3], out int estateId))
{
response = String.Format("\"{0}\" is not a valid ID for an Estate", args[3]);
}