43 lines
1.5 KiB
C#
43 lines
1.5 KiB
C#
using Google.Protobuf;
|
|
using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
using MetaAssets;
|
|
|
|
|
|
|
|
namespace GameServer.PacketHandler;
|
|
|
|
|
|
[PacketHandler("", typeof(ServerMessage.Types.GS2GS_REQ_RESERVATION_CANCEL_TO_SERVER), typeof(ReqReservationCancelToServerMQPacketHandler), typeof(RabbitMQ4Game))]
|
|
public class ReqReservationCancelToServerMQPacketHandler : PacketRecvHandler
|
|
{
|
|
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
|
|
{
|
|
var msg = recvMessage as ServerMessage;
|
|
NullReferenceCheckHelper.throwIfNull(msg, () => $"msg is null !!!");
|
|
|
|
var message = msg.ReqReservationCancelToServer;
|
|
NullReferenceCheckHelper.throwIfNull(message, () => $"message is null !!!");
|
|
|
|
// 1. cancel 처리
|
|
await GameServerApp.getServerLogic().getReservationManager().cancelProcess(message);
|
|
|
|
// 2. ack 전송
|
|
var send = new ServerMessage();
|
|
send.AckReservationCancelToServer = new ServerMessage.Types.GS2GS_ACK_RESERVATION_CANCEL_TO_SERVER();
|
|
send.AckReservationCancelToServer.RequestUserGuid = message.RequestUserGuid;
|
|
|
|
var rabbit_mq = GameServerApp.getServerLogic().getRabbitMqConnector() as RabbitMqConnector;
|
|
NullReferenceCheckHelper.throwIfNull(rabbit_mq, () => $"rabbit_mq is null !!!");
|
|
|
|
rabbit_mq.SendMessage(message.RequestServerName, send);
|
|
|
|
return new();
|
|
}
|
|
}
|