Merge branch 'master' into develop

This commit is contained in:
Kamron Batman 2019-11-11 00:53:11 -08:00
commit 7aa8fd3df1
No known key found for this signature in database
GPG key ID: 5C9DFD15804B6BB8
5 changed files with 22 additions and 41 deletions

View file

@ -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;
}
}

View file

@ -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();

View file

@ -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;

View file

@ -14,6 +14,7 @@
<Copyright>2019</Copyright>
<TargetFramework>netcoreapp3.0</TargetFramework>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<UseNETCoreGenerator>true</UseNETCoreGenerator>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;DEBUG</DefineConstants>
@ -38,15 +39,15 @@
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Content Include="Assemblies\zlib.dll" Condition="'$(RuntimeIdentifier)'=='win-x64'">
<Content Include="Assemblies\zlib.dll" Condition="'$(RuntimeIdentifier)'=='win-x64' OR !Exists('$(RuntimeIdentifier)')">
<Link>zlib.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assemblies\rdrand.dll" Condition="'$(RuntimeIdentifier)'=='win-x64'">
<Content Include="Assemblies\rdrand.dll" Condition="'$(RuntimeIdentifier)'=='win-x64' OR !Exists('$(RuntimeIdentifier)')">
<Link>rdrand.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assemblies\rdrand.so" Condition="'$(RuntimeIdentifier)'=='osx-x64' OR '$(RuntimeIdentifier)'=='linux-x64'">
<Content Include="Assemblies\rdrand.so" Condition="'$(RuntimeIdentifier)'=='osx-x64' OR '$(RuntimeIdentifier)'=='linux-x64' OR !Exists('$(RuntimeIdentifier)')">
<Link>rdrand.so</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>