Hotfixes issues with Insensitive and WorkQueue
This commit is contained in:
parent
8e9221bb5a
commit
24430839ad
3 changed files with 13 additions and 38 deletions
|
|
@ -25,45 +25,20 @@ namespace Server
|
|||
{
|
||||
public static class Insensitive
|
||||
{
|
||||
public static IComparer<string> Comparer{ get; } = StringComparer.OrdinalIgnoreCase;
|
||||
public static IComparer<string> Comparer { get; } = StringComparer.OrdinalIgnoreCase;
|
||||
|
||||
public static int Compare(string a, string b) => Comparer.Compare(a, b);
|
||||
|
||||
public static bool Equals(string a, string b)
|
||||
{
|
||||
if (a == null && b == null)
|
||||
return true;
|
||||
if (a == null || b == null || a.Length != b.Length)
|
||||
return false;
|
||||
public static bool Equals(string a, string b) =>
|
||||
a == null && b == null || a != null && b != null && a.Length == b.Length && Comparer.Compare(a, b) == 0;
|
||||
|
||||
return Comparer.Compare(a, b) == 0;
|
||||
}
|
||||
public static bool StartsWith(string a, string b) =>
|
||||
a != null && b != null && a.Length >= b.Length && Comparer.Compare(a.Substring(0, b.Length), b) == 0;
|
||||
|
||||
public static bool StartsWith(string a, string b)
|
||||
{
|
||||
if (a == null || b == null || a.Length < b.Length)
|
||||
return false;
|
||||
public static bool EndsWith(string a, string b) =>
|
||||
a != null && b != null && a.Length >= b.Length && Comparer.Compare(a.Substring(a.Length - b.Length), b) == 0;
|
||||
|
||||
return Comparer.Compare(a.Substring(0, b.Length), b) == 0;
|
||||
}
|
||||
|
||||
public static bool EndsWith(string a, string b)
|
||||
{
|
||||
if (a == null || b == null || a.Length < b.Length)
|
||||
return false;
|
||||
|
||||
return Comparer.Compare(a.Substring(a.Length - b.Length), b) == 0;
|
||||
}
|
||||
|
||||
public static bool Contains(string a, string b)
|
||||
{
|
||||
if (a == null || b == null || a.Length < b.Length)
|
||||
return false;
|
||||
|
||||
a = a.ToLower();
|
||||
b = b.ToLower();
|
||||
|
||||
return a.IndexOf(b) >= 0;
|
||||
}
|
||||
public static bool Contains(string a, string b) =>
|
||||
a != null && b != null && a.Length >= b.Length && a.IndexOf(b, StringComparison.OrdinalIgnoreCase) >= 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -474,8 +474,8 @@ namespace Server
|
|||
m_Signal.WaitOne();
|
||||
|
||||
Task.WaitAll(
|
||||
Task.Run(() => Mobile.ProcessDeltaQueue()),
|
||||
Task.Run(() => Item.ProcessDeltaQueue())
|
||||
Task.Run(Mobile.ProcessDeltaQueue),
|
||||
Task.Run(Item.ProcessDeltaQueue)
|
||||
);
|
||||
|
||||
Timer.Slice();
|
||||
|
|
|
|||
|
|
@ -48,8 +48,8 @@ namespace Server.Network
|
|||
|
||||
public void DoWork()
|
||||
{
|
||||
int count = m_WorkQueue.Count;
|
||||
while (count-- > 0)
|
||||
int count = 0;
|
||||
while (!m_WorkQueue.IsEmpty && count++ < 250)
|
||||
{
|
||||
if (!m_WorkQueue.TryDequeue(out Work work))
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue