Files
linker/cmonitor/plugins/signIn/messenger/SignInMessenger.cs
2024-04-13 17:06:26 +08:00

36 lines
989 B
C#

using cmonitor.config;
using cmonitor.server;
using common.libs;
using MemoryPack;
namespace cmonitor.plugins.signIn.messenger
{
public sealed class SignInMessenger : IMessenger
{
private readonly SignCaching signCaching;
private readonly Config config;
public SignInMessenger(SignCaching signCaching, Config config)
{
this.signCaching = signCaching;
this.config = config;
}
[MessengerId((ushort)SignInMessengerIds.SignIn)]
public void SignIn(IConnection connection)
{
SignInfo info = MemoryPackSerializer.Deserialize<SignInfo>(connection.ReceiveRequestWrap.Payload.Span);
if (info.Version == config.Data.Version)
{
signCaching.Sign(connection, info);
connection.Write(Helper.TrueArray);
}
else
{
connection.Write(Helper.FalseArray);
}
}
}
}