Files
MQTTnet/Source/MQTTnet/Server/Status/MqttClientStatus.cs
T
2020-10-30 00:21:08 +01:00

53 lines
1.3 KiB
C#

using MQTTnet.Formatter;
using System;
using System.Threading.Tasks;
namespace MQTTnet.Server.Status
{
public sealed class MqttClientStatus : IMqttClientStatus
{
readonly MqttClientConnection _connection;
public MqttClientStatus(MqttClientConnection connection)
{
_connection = connection ?? throw new ArgumentNullException(nameof(connection));
}
public string ClientId { get; set; }
public string Endpoint { get; set; }
public MqttProtocolVersion ProtocolVersion { get; set; }
public DateTime LastPacketReceivedTimestamp { get; set; }
public DateTime ConnectedTimestamp { get; set; }
public DateTime LastNonKeepAlivePacketReceivedTimestamp { get; set; }
public long ReceivedApplicationMessagesCount { get; set; }
public long SentApplicationMessagesCount { get; set; }
public long ReceivedPacketsCount { get; set; }
public long SentPacketsCount { get; set; }
public IMqttSessionStatus Session { get; set; }
public long BytesSent { get; set; }
public long BytesReceived { get; set; }
public Task DisconnectAsync()
{
return _connection.StopAsync();
}
public void ResetStatistics()
{
_connection.ResetStatistics();
}
}
}