public static Task<MqttClientUnsubscribeResult> UnsubscribeAsync(this IMqttClient client, params string[] topicFilters) { if (client == null) throw new ArgumentNullException(nameof(client)); if (topicFilters == null) throw new ArgumentNullException(nameof(topicFilters)); var options = new MqttClientUnsubscribeOptions(); options.TopicFilters.AddRange(topicFilters); return client.UnsubscribeAsync(options); }
public async Task <MqttClientUnsubscribeResult> UnsubscribeAsync(MqttClientUnsubscribeOptions options, CancellationToken cancellationToken) { if (options == null) { throw new ArgumentNullException(nameof(options)); } ThrowIfNotConnected(); var unsubscribePacket = _adapter.PacketFormatterAdapter.DataConverter.CreateUnsubscribePacket(options); unsubscribePacket.PacketIdentifier = _packetIdentifierProvider.GetNextPacketIdentifier(); var unsubAckPacket = await SendAndReceiveAsync <MqttUnsubAckPacket>(unsubscribePacket, cancellationToken).ConfigureAwait(false); return(_adapter.PacketFormatterAdapter.DataConverter.CreateClientUnsubscribeResult(unsubscribePacket, unsubAckPacket)); }
public static Task <MqttClientUnsubscribeResult> UnsubscribeAsync(this IMqttClient client, MqttClientUnsubscribeOptions options) { if (client == null) { throw new ArgumentNullException(nameof(client)); } return(client.UnsubscribeAsync(options, CancellationToken.None)); }
public static Task <MqttClientUnsubscribeResult> UnsubscribeAsync(this IMqttClient client, MqttClientUnsubscribeOptions options) { return(client.UnsubscribeAsync(options, CancellationToken.None)); }