using System; using UnityEngine; public class MqttControllerStatistics { public int ReceivedMessageCount { get; private set; } public long TotalLatencyTicks { get; private set; } public long TotalLatencyMs => TicksToMs(TotalLatencyTicks); public long AverageLatencyMs { get { return ReceivedMessageCount == 0 ? 0 : TotalLatencyMs / ReceivedMessageCount; } } private long TicksToMs (long ticks) => ticks / TimeSpan.TicksPerMillisecond; public MqttControllerStatistics() { } public void AddMessage(long timestampTicks) { ReceivedMessageCount++; long latencyTicks = DateTime.UtcNow.Ticks - timestampTicks; TotalLatencyTicks += latencyTicks; } }