コード例 #1
0
ファイル: MqttClient.cs プロジェクト: yyjdelete/MQTTnet
        public async Task <MqttClientSubscribeResult> SubscribeAsync(MqttClientSubscribeOptions options, CancellationToken cancellationToken)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            ThrowIfDisposed();
            ThrowIfNotConnected();

            var subscribePacket = _adapter.PacketFormatterAdapter.DataConverter.CreateSubscribePacket(options);

            subscribePacket.PacketIdentifier = _packetIdentifierProvider.GetNextPacketIdentifier();

            var subAckPacket = await SendAndReceiveAsync <MqttSubAckPacket>(subscribePacket, cancellationToken).ConfigureAwait(false);

            return(_adapter.PacketFormatterAdapter.DataConverter.CreateClientSubscribeResult(subscribePacket, subAckPacket));
        }
コード例 #2
0
ファイル: MqttClientExtensions.cs プロジェクト: zz110/MQTTnet
        public static Task <MqttClientSubscribeResult> SubscribeAsync(this IMqttClient client, MqttClientSubscribeOptions options)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }

            return(client.SubscribeAsync(options, CancellationToken.None));
        }
コード例 #3
0
 public static Task <MqttClientSubscribeResult> SubscribeAsync(this IMqttClient client, MqttClientSubscribeOptions options)
 {
     return(client.SubscribeAsync(options, CancellationToken.None));
 }