Replacing Networking (#271)
- [X] Removing Kestrel & Libuv - [X] Cleaning up NetState - [X] Removing System.IO.Pipelines - [X] Cleaning up packet reading - [X] Adds a maximum of 5000 sockets (configurable) to prevent OOM - [X] Replaces the AsyncState with a thread-safe wrapped boolean called NetworkState - [X] Removes Parallel.ForEach (no perf gain) - [X] Removes custom houses compression on another thread - [X] Test high load scenarios Bumps release version
This commit is contained in:
parent
8603e31023
commit
369a27b800
47 changed files with 1780 additions and 1569 deletions
|
|
@ -295,7 +295,12 @@ namespace Server.Items
|
|||
{
|
||||
var door = doors[i];
|
||||
|
||||
if (door?.Open == true)
|
||||
if (door == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (door.Open)
|
||||
{
|
||||
return AddonFitResult.DoorsNotClosed;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -378,8 +378,8 @@ namespace Server.Items
|
|||
|
||||
reader.Seek(4, SeekOrigin.Current); // Skip flags and page count
|
||||
|
||||
var title = reader.ReadStringSafe(60);
|
||||
var author = reader.ReadStringSafe(30);
|
||||
var title = reader.ReadAsciiSafe(60);
|
||||
var author = reader.ReadAsciiSafe(30);
|
||||
|
||||
book.Title = Utility.FixHtml(title);
|
||||
book.Author = Utility.FixHtml(author);
|
||||
|
|
@ -404,7 +404,7 @@ namespace Server.Items
|
|||
return;
|
||||
}
|
||||
|
||||
var title = reader.ReadUTF8StringSafe(titleLength);
|
||||
var title = reader.ReadUTF8Safe(titleLength);
|
||||
|
||||
int authorLength = reader.ReadUInt16();
|
||||
|
||||
|
|
@ -413,7 +413,7 @@ namespace Server.Items
|
|||
return;
|
||||
}
|
||||
|
||||
var author = reader.ReadUTF8StringSafe(authorLength);
|
||||
var author = reader.ReadUTF8Safe(authorLength);
|
||||
|
||||
book.Title = Utility.FixHtml(title);
|
||||
book.Author = Utility.FixHtml(author);
|
||||
|
|
@ -452,7 +452,7 @@ namespace Server.Items
|
|||
|
||||
for (var j = 0; j < lineCount; ++j)
|
||||
{
|
||||
if ((lines[j] = reader.ReadUTF8StringSafe()).Length >= 80)
|
||||
if ((lines[j] = reader.ReadUTF8Safe()).Length >= 80)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ namespace Server.Engines.Mahjong
|
|||
RegisterSubCommand(0x18, MoveDealerIndicator);
|
||||
}
|
||||
|
||||
public static void OnPacket(NetState state, PacketReader reader)
|
||||
public static void OnPacket(NetState state,PacketReader reader)
|
||||
{
|
||||
var game = World.FindItem(reader.ReadUInt32()) as MahjongGame;
|
||||
|
||||
|
|
|
|||
|
|
@ -315,7 +315,7 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
var subject = reader.ReadUTF8StringSafe(reader.ReadByte());
|
||||
var subject = reader.ReadUTF8Safe(reader.ReadByte());
|
||||
|
||||
if (subject.Length == 0)
|
||||
{
|
||||
|
|
@ -331,7 +331,7 @@ namespace Server.Items
|
|||
|
||||
for (var i = 0; i < lines.Length; ++i)
|
||||
{
|
||||
lines[i] = reader.ReadUTF8StringSafe(reader.ReadByte());
|
||||
lines[i] = reader.ReadUTF8Safe(reader.ReadByte());
|
||||
}
|
||||
|
||||
board.PostMessage(from, thread, subject, lines);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue