mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-25 15:42:57 +08:00
Add connected timestamp to connection status API.
This commit is contained in:
@@ -31,11 +31,12 @@ namespace MQTTnet.Server
|
|||||||
private readonly IMqttDataConverter _dataConverter;
|
private readonly IMqttDataConverter _dataConverter;
|
||||||
private readonly string _endpoint;
|
private readonly string _endpoint;
|
||||||
private readonly MqttConnectPacket _connectPacket;
|
private readonly MqttConnectPacket _connectPacket;
|
||||||
|
private readonly DateTime _connectedTimestamp;
|
||||||
|
|
||||||
private Task<MqttClientDisconnectType> _packageReceiverTask;
|
private Task<MqttClientDisconnectType> _packageReceiverTask;
|
||||||
private DateTime _lastPacketReceivedTimestamp;
|
private DateTime _lastPacketReceivedTimestamp;
|
||||||
private DateTime _lastNonKeepAlivePacketReceivedTimestamp;
|
private DateTime _lastNonKeepAlivePacketReceivedTimestamp;
|
||||||
|
|
||||||
private long _receivedPacketsCount;
|
private long _receivedPacketsCount;
|
||||||
private long _sentPacketsCount = 1; // Start with 1 because the CONNECT packet is not counted anywhere.
|
private long _sentPacketsCount = 1; // Start with 1 because the CONNECT packet is not counted anywhere.
|
||||||
private long _receivedApplicationMessagesCount;
|
private long _receivedApplicationMessagesCount;
|
||||||
@@ -65,7 +66,8 @@ namespace MQTTnet.Server
|
|||||||
|
|
||||||
_keepAliveMonitor = new MqttClientKeepAliveMonitor(this, _logger);
|
_keepAliveMonitor = new MqttClientKeepAliveMonitor(this, _logger);
|
||||||
|
|
||||||
_lastPacketReceivedTimestamp = DateTime.UtcNow;
|
_connectedTimestamp = DateTime.UtcNow;
|
||||||
|
_lastPacketReceivedTimestamp = _connectedTimestamp;
|
||||||
_lastNonKeepAlivePacketReceivedTimestamp = _lastPacketReceivedTimestamp;
|
_lastNonKeepAlivePacketReceivedTimestamp = _lastPacketReceivedTimestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,6 +98,7 @@ namespace MQTTnet.Server
|
|||||||
status.ReceivedPacketsCount = Interlocked.Read(ref _receivedPacketsCount);
|
status.ReceivedPacketsCount = Interlocked.Read(ref _receivedPacketsCount);
|
||||||
status.SentPacketsCount = Interlocked.Read(ref _sentPacketsCount);
|
status.SentPacketsCount = Interlocked.Read(ref _sentPacketsCount);
|
||||||
|
|
||||||
|
status.ConnectedTimestamp = _connectedTimestamp;
|
||||||
status.LastPacketReceivedTimestamp = _lastPacketReceivedTimestamp;
|
status.LastPacketReceivedTimestamp = _lastPacketReceivedTimestamp;
|
||||||
status.LastNonKeepAlivePacketReceivedTimestamp = _lastNonKeepAlivePacketReceivedTimestamp;
|
status.LastNonKeepAlivePacketReceivedTimestamp = _lastNonKeepAlivePacketReceivedTimestamp;
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ namespace MQTTnet.Server.Status
|
|||||||
|
|
||||||
public DateTime LastPacketReceivedTimestamp { get; set; }
|
public DateTime LastPacketReceivedTimestamp { get; set; }
|
||||||
|
|
||||||
|
public DateTime ConnectedTimestamp { get; set; }
|
||||||
|
|
||||||
public DateTime LastNonKeepAlivePacketReceivedTimestamp { get; set; }
|
public DateTime LastNonKeepAlivePacketReceivedTimestamp { get; set; }
|
||||||
|
|
||||||
public long ReceivedApplicationMessagesCount { get; set; }
|
public long ReceivedApplicationMessagesCount { get; set; }
|
||||||
|
|||||||
Reference in New Issue
Block a user