44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
using Google.Protobuf;
|
|
using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
using MetaAssets;
|
|
|
|
|
|
using ServerControlCenter;
|
|
using ControlCenter.NamedPipe;
|
|
using ControlCenter.NamedPipe.Extensions;
|
|
|
|
|
|
|
|
namespace GameServer.Monitor.PacketHandler;
|
|
|
|
public class UserConnectionBlockServerMessageReceiver : NamedPipeReceiver<A2S_REQ_USER_CONNECTION_BLOCK_SERVER>
|
|
{
|
|
public UserConnectionBlockServerMessageReceiver() { }
|
|
|
|
public override async Task Handle(A2S_REQ_USER_CONNECTION_BLOCK_SERVER message, string message_id)
|
|
{
|
|
Log.getLogger().debug($"{nameof(UserConnectionBlockServerMessageReceiver)}: Receive - message_id[{message_id}] / message[{message}]");
|
|
var server_logic = GameServerApp.getServerLogic();
|
|
|
|
var msg = new S2A_ACK_USER_CONNECTION_BLOCK_SERVER { Result = new NAMED_PIPE_RESULT() };
|
|
|
|
var is_success = await server_logic.onBlockAccountLogin();
|
|
if (false == is_success)
|
|
{
|
|
msg.Result.SetFailMessage($"AtomicBool failed to CompareExchange with true !!!");
|
|
}
|
|
|
|
NamedPipeMonitor.SetUserConnectionBlockStatus(server_logic.getAccountLoginBlockEnable().Value);
|
|
var send_success = await NamedPipeMonitor.SendMessageAsync<S2A_ACK_USER_CONNECTION_BLOCK_SERVER>(msg, message_id);
|
|
if (NamedPipeResultCode.Success != send_success)
|
|
{
|
|
Log.getLogger().error($"Failed to send !!! : {msg.toBasicString()}");
|
|
}
|
|
}
|
|
} |