// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Text; using MQTTnet.Protocol; namespace MQTTnet.Extensions.Rpc; public static class MqttRpcClientExtensions { public static Task ExecuteAsync(this IMqttRpcClient client, TimeSpan timeout, string methodName, string payload, MqttQualityOfServiceLevel qualityOfServiceLevel, IDictionary parameters = null) { ArgumentNullException.ThrowIfNull(client); var buffer = Encoding.UTF8.GetBytes(payload ?? string.Empty); return client.ExecuteAsync(timeout, methodName, buffer, qualityOfServiceLevel, parameters); } }