From bdb74642c2ed9d16ecdf2f7f9300b68f5206155a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E4=B9=9D?= <366193849@qq.com> Date: Sat, 30 Nov 2024 20:46:36 +0800 Subject: [PATCH] MqttClientFactory: Fix CreateLowLevelMqttClient not using method parameters (#2110) * Fix CreateLowLevelMqttClient not using method parameters. * Remove UseClientAdapterFactory() --- Source/MQTTnet/MqttClientFactory.cs | 38 +++++++++++++++-------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/Source/MQTTnet/MqttClientFactory.cs b/Source/MQTTnet/MqttClientFactory.cs index 2e5504df..8994ee98 100644 --- a/Source/MQTTnet/MqttClientFactory.cs +++ b/Source/MQTTnet/MqttClientFactory.cs @@ -11,24 +11,31 @@ using MQTTnet.LowLevelClient; namespace MQTTnet; -public sealed class MqttClientFactory +public class MqttClientFactory { - IMqttClientAdapterFactory _clientAdapterFactory; + readonly IMqttNetLogger _logger; + readonly IMqttClientAdapterFactory _clientAdapterFactory; - public MqttClientFactory() : this(new MqttNetNullLogger()) + public IMqttNetLogger DefaultLogger => _logger; + + public IDictionary Properties { get; } = new Dictionary(); + + public MqttClientFactory() + : this(new MqttNetNullLogger()) { } public MqttClientFactory(IMqttNetLogger logger) + : this(logger, new MqttClientAdapterFactory()) { - DefaultLogger = logger ?? throw new ArgumentNullException(nameof(logger)); - - _clientAdapterFactory = new MqttClientAdapterFactory(); } - public IMqttNetLogger DefaultLogger { get; } + public MqttClientFactory(IMqttNetLogger logger, IMqttClientAdapterFactory clientAdapterFactory) + { + _logger = logger ?? throw new ArgumentNullException(nameof(logger)); + _clientAdapterFactory = clientAdapterFactory ?? throw new ArgumentNullException(nameof(clientAdapterFactory)); + } - public IDictionary Properties { get; } = new Dictionary(); public MqttApplicationMessageBuilder CreateApplicationMessageBuilder() { @@ -47,7 +54,7 @@ public sealed class MqttClientFactory public ILowLevelMqttClient CreateLowLevelMqttClient() { - return CreateLowLevelMqttClient(DefaultLogger); + return new LowLevelMqttClient(_clientAdapterFactory, _logger); } public ILowLevelMqttClient CreateLowLevelMqttClient(IMqttNetLogger logger) @@ -61,7 +68,7 @@ public sealed class MqttClientFactory { ArgumentNullException.ThrowIfNull(clientAdapterFactory); - return new LowLevelMqttClient(_clientAdapterFactory, DefaultLogger); + return new LowLevelMqttClient(clientAdapterFactory, _logger); } public ILowLevelMqttClient CreateLowLevelMqttClient(IMqttNetLogger logger, IMqttClientAdapterFactory clientAdapterFactory) @@ -69,12 +76,12 @@ public sealed class MqttClientFactory ArgumentNullException.ThrowIfNull(logger); ArgumentNullException.ThrowIfNull(clientAdapterFactory); - return new LowLevelMqttClient(_clientAdapterFactory, logger); + return new LowLevelMqttClient(clientAdapterFactory, logger); } public IMqttClient CreateMqttClient() { - return CreateMqttClient(DefaultLogger); + return new MqttClient(_clientAdapterFactory, _logger); } public IMqttClient CreateMqttClient(IMqttNetLogger logger) @@ -88,7 +95,7 @@ public sealed class MqttClientFactory { ArgumentNullException.ThrowIfNull(clientAdapterFactory); - return new MqttClient(clientAdapterFactory, DefaultLogger); + return new MqttClient(clientAdapterFactory, _logger); } public IMqttClient CreateMqttClient(IMqttNetLogger logger, IMqttClientAdapterFactory clientAdapterFactory) @@ -114,9 +121,4 @@ public sealed class MqttClientFactory return new MqttClientUnsubscribeOptionsBuilder(); } - public MqttClientFactory UseClientAdapterFactory(IMqttClientAdapterFactory clientAdapterFactory) - { - _clientAdapterFactory = clientAdapterFactory ?? throw new ArgumentNullException(nameof(clientAdapterFactory)); - return this; - } } \ No newline at end of file