using MemoryPack; using Phantom.Common.Data; using Phantom.Common.Data.Agent; using Phantom.Utils.Rpc.Message; namespace Phantom.Common.Messages.Agent.ToController; [MemoryPackable(GenerateType.VersionTolerant)] public sealed partial record RegisterAgentMessage( [property: MemoryPackOrder(0)] AuthToken AuthToken, [property: MemoryPackOrder(1)] AgentInfo AgentInfo ) : IMessageToController { public Task<NoReply> Accept(IMessageToControllerListener listener) { return listener.HandleRegisterAgent(this); } }