@@ -19,22 +19,18 @@ namespace MQTTnet.Server.Internal;
19
19
public sealed class MqttClientSessionsManager : ISubscriptionChangedNotification , IDisposable
20
20
{
21
21
readonly Dictionary < string , MqttConnectedClient > _clients = new ( 4096 ) ;
22
-
23
22
readonly AsyncLock _createConnectionSyncRoot = new ( ) ;
24
-
25
23
readonly MqttServerEventContainer _eventContainer ;
26
24
readonly MqttNetSourceLogger _logger ;
27
25
readonly MqttServerOptions _options ;
28
-
29
26
readonly MqttRetainedMessagesManager _retainedMessagesManager ;
30
27
readonly IMqttNetLogger _rootLogger ;
31
-
32
28
readonly ReaderWriterLockSlim _sessionsManagementLock = new ( ) ;
33
29
34
30
// The _sessions dictionary contains all session, the _subscriberSessions hash set contains subscriber sessions only.
35
31
// See the MqttSubscription object for a detailed explanation.
36
32
readonly MqttSessionsStorage _sessionsStorage = new ( ) ;
37
- readonly HashSet < MqttSession > _subscriberSessions = new ( ) ;
33
+ readonly HashSet < MqttSession > _subscriberSessions = [ ] ;
38
34
39
35
public MqttClientSessionsManager ( MqttServerOptions options , MqttRetainedMessagesManager retainedMessagesManager , MqttServerEventContainer eventContainer , IMqttNetLogger logger )
40
36
{
@@ -365,7 +361,11 @@ public async Task HandleClientConnectionAsync(IMqttChannelAdapter channelAdapter
365
361
366
362
if ( _eventContainer . ClientConnectedEvent . HasHandlers )
367
363
{
368
- var eventArgs = new ClientConnectedEventArgs ( connectPacket , channelAdapter . PacketFormatterAdapter . ProtocolVersion , channelAdapter . Endpoint , connectedClient . Session . Items ) ;
364
+ var eventArgs = new ClientConnectedEventArgs (
365
+ connectPacket ,
366
+ channelAdapter . PacketFormatterAdapter . ProtocolVersion ,
367
+ channelAdapter . RemoteEndPoint ,
368
+ connectedClient . Session . Items ) ;
369
369
370
370
await _eventContainer . ClientConnectedEvent . TryInvokeAsync ( eventArgs , _logger ) . ConfigureAwait ( false ) ;
371
371
}
@@ -403,7 +403,7 @@ public async Task HandleClientConnectionAsync(IMqttChannelAdapter channelAdapter
403
403
}
404
404
}
405
405
406
- var endpoint = connectedClient . Endpoint ;
406
+ var endpoint = connectedClient . RemoteEndPoint ;
407
407
408
408
if ( connectedClient . Id != null && ! connectedClient . IsTakenOver && _eventContainer . ClientDisconnectedEvent . HasHandlers )
409
409
{
@@ -591,7 +591,12 @@ async Task<MqttConnectedClient> CreateClientConnection(
591
591
592
592
if ( _eventContainer . ClientDisconnectedEvent . HasHandlers )
593
593
{
594
- var eventArgs = new ClientDisconnectedEventArgs ( oldConnectedClient . Id , null , MqttClientDisconnectType . Takeover , oldConnectedClient . Endpoint , oldConnectedClient . Session . Items ) ;
594
+ var eventArgs = new ClientDisconnectedEventArgs (
595
+ oldConnectedClient . Id ,
596
+ null ,
597
+ MqttClientDisconnectType . Takeover ,
598
+ oldConnectedClient . RemoteEndPoint ,
599
+ oldConnectedClient . Session . Items ) ;
595
600
596
601
await _eventContainer . ClientDisconnectedEvent . TryInvokeAsync ( eventArgs , _logger ) . ConfigureAwait ( false ) ;
597
602
}
@@ -655,14 +660,14 @@ async Task<MqttConnectPacket> ReceiveConnectPacket(IMqttChannelAdapter channelAd
655
660
}
656
661
catch ( OperationCanceledException )
657
662
{
658
- _logger . Warning ( "Client '{0}': Connected but did not sent a CONNECT packet." , channelAdapter . Endpoint ) ;
663
+ _logger . Warning ( "Client '{0}': Connected but did not sent a CONNECT packet." , channelAdapter . RemoteEndPoint ) ;
659
664
}
660
665
catch ( MqttCommunicationTimedOutException )
661
666
{
662
- _logger . Warning ( "Client '{0}': Connected but did not sent a CONNECT packet." , channelAdapter . Endpoint ) ;
667
+ _logger . Warning ( "Client '{0}': Connected but did not sent a CONNECT packet." , channelAdapter . RemoteEndPoint ) ;
663
668
}
664
669
665
- _logger . Warning ( "Client '{0}': First received packet was no 'CONNECT' packet [MQTT-3.1.0-1]." , channelAdapter . Endpoint ) ;
670
+ _logger . Warning ( "Client '{0}': First received packet was no 'CONNECT' packet [MQTT-3.1.0-1]." , channelAdapter . RemoteEndPoint ) ;
666
671
return null ;
667
672
}
668
673
0 commit comments