Restore interfaces.

This commit is contained in:
Christian
2022-04-05 20:00:49 +02:00
parent cf2974cd34
commit 7cf454952f
31 changed files with 293 additions and 137 deletions
@@ -0,0 +1,14 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using MQTTnet.Protocol;
namespace MQTTnet.Extensions.Rpc
{
public interface IMqttRpcClient : IDisposable
{
Task<byte[]> ExecuteAsync(TimeSpan timeout, string methodName, byte[] payload, MqttQualityOfServiceLevel qualityOfServiceLevel);
Task<byte[]> ExecuteAsync(string methodName, byte[] payload, MqttQualityOfServiceLevel qualityOfServiceLevel, CancellationToken cancellationToken = default);
}
}
@@ -9,7 +9,7 @@ namespace MQTTnet.Extensions.Rpc
{
public static class MqttFactoryExtensions
{
public static MqttRpcClient CreateMqttRpcClient(this MqttFactory factory, MqttClient mqttClient)
public static IMqttRpcClient CreateMqttRpcClient(this MqttFactory factory, IMqttClient mqttClient)
{
return factory.CreateMqttRpcClient(mqttClient, new MqttRpcClientOptions
{
@@ -17,10 +17,8 @@ namespace MQTTnet.Extensions.Rpc
});
}
public static MqttRpcClient CreateMqttRpcClient(this MqttFactory factory, MqttClient mqttClient, MqttRpcClientOptions rpcClientOptions)
public static IMqttRpcClient CreateMqttRpcClient(this MqttFactory _, IMqttClient mqttClient, MqttRpcClientOptions rpcClientOptions)
{
if (factory == null) throw new ArgumentNullException(nameof(factory));
if (mqttClient == null)
{
throw new ArgumentNullException(nameof(mqttClient));
@@ -13,13 +13,13 @@ using MQTTnet.Implementations;
namespace MQTTnet.Extensions.Rpc
{
public sealed class MqttRpcClient : IDisposable
public sealed class MqttRpcClient : IMqttRpcClient
{
readonly ConcurrentDictionary<string, TaskCompletionSource<byte[]>> _waitingCalls = new ConcurrentDictionary<string, TaskCompletionSource<byte[]>>();
readonly MqttClient _mqttClient;
readonly IMqttClient _mqttClient;
readonly MqttRpcClientOptions _options;
public MqttRpcClient(MqttClient mqttClient, MqttRpcClientOptions options)
public MqttRpcClient(IMqttClient mqttClient, MqttRpcClientOptions options)
{
_mqttClient = mqttClient ?? throw new ArgumentNullException(nameof(mqttClient));
_options = options ?? throw new ArgumentNullException(nameof(options));
@@ -47,7 +47,7 @@ namespace MQTTnet.Extensions.Rpc
}
}
public async Task<byte[]> ExecuteAsync(string methodName, byte[] payload, MqttQualityOfServiceLevel qualityOfServiceLevel, CancellationToken cancellationToken)
public async Task<byte[]> ExecuteAsync(string methodName, byte[] payload, MqttQualityOfServiceLevel qualityOfServiceLevel, CancellationToken cancellationToken = default)
{
if (methodName == null) throw new ArgumentNullException(nameof(methodName));
@@ -11,7 +11,7 @@ namespace MQTTnet.Extensions.Rpc
{
public static class MqttRpcClientExtensions
{
public static Task<byte[]> ExecuteAsync(this MqttRpcClient client, TimeSpan timeout, string methodName, string payload, MqttQualityOfServiceLevel qualityOfServiceLevel)
public static Task<byte[]> ExecuteAsync(this IMqttRpcClient client, TimeSpan timeout, string methodName, string payload, MqttQualityOfServiceLevel qualityOfServiceLevel)
{
if (client == null) throw new ArgumentNullException(nameof(client));
@@ -21,7 +21,7 @@ namespace MQTTnet.Extensions.Rpc
/// </summary>
public MqttQualityOfServiceLevel QualityOfServiceLevel { get; set; }
public MqttClient MqttClient { get; set; }
public IMqttClient MqttClient { get; set; }
public MqttRpcClientOptions Options { get; set; }
}