MqttClientFactory: Fix CreateLowLevelMqttClient not using method parameters (#2110)

* Fix CreateLowLevelMqttClient not using method parameters.

* Remove UseClientAdapterFactory()
This commit is contained in:
老九
2024-11-30 13:46:36 +01:00
committed by GitHub
parent 63d85184e1
commit bdb74642c2
+20 -18
View File
@@ -11,24 +11,31 @@ using MQTTnet.LowLevelClient;
namespace MQTTnet; 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<object, object> Properties { get; } = new Dictionary<object, object>();
public MqttClientFactory()
: this(new MqttNetNullLogger())
{ {
} }
public MqttClientFactory(IMqttNetLogger logger) 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<object, object> Properties { get; } = new Dictionary<object, object>();
public MqttApplicationMessageBuilder CreateApplicationMessageBuilder() public MqttApplicationMessageBuilder CreateApplicationMessageBuilder()
{ {
@@ -47,7 +54,7 @@ public sealed class MqttClientFactory
public ILowLevelMqttClient CreateLowLevelMqttClient() public ILowLevelMqttClient CreateLowLevelMqttClient()
{ {
return CreateLowLevelMqttClient(DefaultLogger); return new LowLevelMqttClient(_clientAdapterFactory, _logger);
} }
public ILowLevelMqttClient CreateLowLevelMqttClient(IMqttNetLogger logger) public ILowLevelMqttClient CreateLowLevelMqttClient(IMqttNetLogger logger)
@@ -61,7 +68,7 @@ public sealed class MqttClientFactory
{ {
ArgumentNullException.ThrowIfNull(clientAdapterFactory); ArgumentNullException.ThrowIfNull(clientAdapterFactory);
return new LowLevelMqttClient(_clientAdapterFactory, DefaultLogger); return new LowLevelMqttClient(clientAdapterFactory, _logger);
} }
public ILowLevelMqttClient CreateLowLevelMqttClient(IMqttNetLogger logger, IMqttClientAdapterFactory clientAdapterFactory) public ILowLevelMqttClient CreateLowLevelMqttClient(IMqttNetLogger logger, IMqttClientAdapterFactory clientAdapterFactory)
@@ -69,12 +76,12 @@ public sealed class MqttClientFactory
ArgumentNullException.ThrowIfNull(logger); ArgumentNullException.ThrowIfNull(logger);
ArgumentNullException.ThrowIfNull(clientAdapterFactory); ArgumentNullException.ThrowIfNull(clientAdapterFactory);
return new LowLevelMqttClient(_clientAdapterFactory, logger); return new LowLevelMqttClient(clientAdapterFactory, logger);
} }
public IMqttClient CreateMqttClient() public IMqttClient CreateMqttClient()
{ {
return CreateMqttClient(DefaultLogger); return new MqttClient(_clientAdapterFactory, _logger);
} }
public IMqttClient CreateMqttClient(IMqttNetLogger logger) public IMqttClient CreateMqttClient(IMqttNetLogger logger)
@@ -88,7 +95,7 @@ public sealed class MqttClientFactory
{ {
ArgumentNullException.ThrowIfNull(clientAdapterFactory); ArgumentNullException.ThrowIfNull(clientAdapterFactory);
return new MqttClient(clientAdapterFactory, DefaultLogger); return new MqttClient(clientAdapterFactory, _logger);
} }
public IMqttClient CreateMqttClient(IMqttNetLogger logger, IMqttClientAdapterFactory clientAdapterFactory) public IMqttClient CreateMqttClient(IMqttNetLogger logger, IMqttClientAdapterFactory clientAdapterFactory)
@@ -114,9 +121,4 @@ public sealed class MqttClientFactory
return new MqttClientUnsubscribeOptionsBuilder(); return new MqttClientUnsubscribeOptionsBuilder();
} }
public MqttClientFactory UseClientAdapterFactory(IMqttClientAdapterFactory clientAdapterFactory)
{
_clientAdapterFactory = clientAdapterFactory ?? throw new ArgumentNullException(nameof(clientAdapterFactory));
return this;
}
} }