using MemoryPack;

namespace Insight.Agent.Messages
{
    [MemoryPackUnion(3, typeof(Status))]
    public partial interface IAgentMessage { }

    [MemoryPackable]
    public partial class Status : IAgentMessage
    {
        [MemoryPackOrder(0)]
        public DateTime Timestamp { get; } = DateTime.Now;

        [MemoryPackOrder(1)]
        public TimeSpan Uptime { get; set; }
    }
}