Small changes

This commit is contained in:
EntenKoeniq
2021-11-23 23:02:41 +01:00
parent f0d1fee2bd
commit 48cbff2f11
2 changed files with 20 additions and 18 deletions

View File

@ -106,9 +106,6 @@ namespace CoopServer
while (true)
{
// 16 milliseconds to sleep to reduce CPU usage
Thread.Sleep(1000 / 60);
NetIncomingMessage message;
while ((message = MainNetServer.ReadMessage()) != null)
@ -290,7 +287,6 @@ namespace CoopServer
ModPacket modPacket = (ModPacket)packet;
if (MainResource != null)
{
// TODO: We need the true/false result
if (MainResource.InvokeModPacketReceived(modPacket.ID, modPacket.Target, modPacket.Mod, modPacket.CustomPacketID, modPacket.Bytes))
{
break;
@ -357,6 +353,9 @@ namespace CoopServer
MainNetServer.Recycle(message);
}
// 16 milliseconds to sleep to reduce CPU usage
Thread.Sleep(1000 / 60);
}
}
@ -679,7 +678,8 @@ namespace CoopServer
return;
}
else if (MainResource.InvokeChatMessage(packet.Username, packet.Message)) // TODO: We need the true/false result
if (MainResource.InvokeChatMessage(packet.Username, packet.Message))
{
return;
}

View File

@ -26,27 +26,29 @@ namespace CoopServer
lock (_actionQueue)
{
_actionQueue.Enqueue(() => _script = script);
_actionQueue.Enqueue(() =>
{
_script = script;
_script.API.InvokeStart();
});
}
}
private void ThreadLoop()
{
do
while (_hasToStop)
{
// 16 milliseconds to sleep to reduce CPU usage
Thread.Sleep(1000 / 60);
if (_actionQueue.Count == 0)
if (_actionQueue.Count != 0)
{
continue;
}
lock (_actionQueue)
{
_factory.StartNew(() => _actionQueue.Dequeue()?.Invoke());
}
} while (_hasToStop);
}
// 16 milliseconds to sleep to reduce CPU usage
Thread.Sleep(1000 / 60);
}
}
public bool InvokeModPacketReceived(long from, long target, string mod, byte customID, byte[] bytes)