| 12345678910111213141516171819202122232425262728293031323334 |
- using MQTTnet.Adapter;
- using MQTTnet.Client.Options;
- using MQTTnet.Diagnostics;
- using MQTTnet.Formatter;
- using System;
- namespace MQTTnet.Implementations
- {
- public class MqttClientAdapterFactory : IMqttClientAdapterFactory
- {
- public IMqttChannelAdapter CreateClientAdapter(IMqttClientOptions options, IMqttNetLogger logger)
- {
- if (options == null) throw new ArgumentNullException(nameof(options));
- switch (options.ChannelOptions)
- {
- case MqttClientTcpOptions _:
- {
- return new MqttChannelAdapter(new MqttTcpChannel(options), new MqttPacketFormatterAdapter(options.ProtocolVersion), logger);
- }
- case MqttClientWebSocketOptions webSocketOptions:
- {
- return new MqttChannelAdapter(new MqttWebSocketChannel(webSocketOptions), new MqttPacketFormatterAdapter(options.ProtocolVersion), logger);
- }
- default:
- {
- throw new NotSupportedException();
- }
- }
- }
- }
- }
|