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

View File

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