Files
caliverse_server/BrokerApiServer/NamedPipePacketHandler/ForceStopServerPacketHandler.cs
2025-05-01 07:23:28 +09:00

32 lines
847 B
C#

using ControlCenter.NamedPipe;
using ControlCenter.NamedPipeHost.Manager;
using ServerControlCenter;
using ServerCore;
namespace BrokerApiServer;
public class ForceStopServerMessageReceiver : NamedPipeReceiver<A2S_REQ_FORCE_STOP_SERVER>
{
private readonly ServerInfoManager m_info_manager;
public ForceStopServerMessageReceiver(ServerInfoManager infoManager)
{
m_info_manager = infoManager;
}
public override async Task Handle(A2S_REQ_FORCE_STOP_SERVER message, string message_id)
{
Log.getLogger().debug($"{nameof(ForceStopServerMessageReceiver)}: Receive - message_id[{message_id}] / message[{message}]");
m_info_manager.setServerStatus(ServerStatus.Stop);
// 정보 전달 대기
await Task.Delay(1_000);
// process 종료
Environment.Exit(0);
}
}