feat: do not crash on unkown packet id
This commit is contained in:
parent
2a4e5ed118
commit
2705715e8c
1 changed files with 9 additions and 3 deletions
|
@ -42,7 +42,7 @@ public class PacketDistributorService : IHostedService
|
|||
|
||||
var packetVariable = DeclareVariable(packetsType.Value, "packet");
|
||||
Assign(packetVariable, newPacket);
|
||||
Call(packetVariable, packetsType.Value.GetMethod("Deserialize"), arg);
|
||||
Call(packetVariable, nameof(IPacket.Deserialize), arg);
|
||||
|
||||
Return(packetVariable);
|
||||
}).Compile();
|
||||
|
@ -119,11 +119,17 @@ public class PacketDistributorService : IHostedService
|
|||
}
|
||||
}
|
||||
|
||||
private void InvokePacketHandler(RawPacket? item)
|
||||
private void InvokePacketHandler(RawPacket item)
|
||||
{
|
||||
this.logger.LogTrace("[{TempId}] Packet with ID: {MessageOperationCode} is being dequeued",
|
||||
item.Session.Id, item.OperationCode);
|
||||
var packet = this.deserializationMap[item.OperationCode].Invoke(item.MessageBody);
|
||||
if (!this.deserializationMap.ContainsKey(item.OperationCode))
|
||||
{
|
||||
this.logger.LogInformation("Couldn't find Packet type for Id: {Opcode}", item.OperationCode);
|
||||
return;
|
||||
}
|
||||
|
||||
var packet = this.deserializationMap[item.OperationCode](item.MessageBody);
|
||||
var packetHandler =
|
||||
ActivatorUtilities.GetServiceOrCreateInstance(this.serviceProvider,
|
||||
this.packetHandlers[item.OperationCode]);
|
||||
|
|
Loading…
Reference in a new issue