Add new publish overloads.

This commit is contained in:
Christian Kratky
2018-06-22 20:45:30 +02:00
parent e387971292
commit f39589a8c1
2 changed files with 17 additions and 7 deletions
@@ -14,7 +14,7 @@ namespace MQTTnet
foreach (var applicationMessage in applicationMessages)
{
await publisher.PublishAsync(applicationMessage);
await publisher.PublishAsync(applicationMessage).ConfigureAwait(false);
}
}
@@ -25,7 +25,7 @@ namespace MQTTnet
foreach (var applicationMessage in applicationMessages)
{
await publisher.PublishAsync(applicationMessage);
await publisher.PublishAsync(applicationMessage).ConfigureAwait(false);
}
}
@@ -35,8 +35,7 @@ namespace MQTTnet
if (topic == null) throw new ArgumentNullException(nameof(topic));
return publisher.PublishAsync(builder => builder
.WithTopic(topic)
);
.WithTopic(topic));
}
public static Task PublishAsync(this IApplicationMessagePublisher publisher, string topic, string payload)
@@ -46,8 +45,7 @@ namespace MQTTnet
return publisher.PublishAsync(builder => builder
.WithTopic(topic)
.WithPayload(payload)
);
.WithPayload(payload));
}
public static Task PublishAsync(this IApplicationMessagePublisher publisher, string topic, string payload, MqttQualityOfServiceLevel qualityOfServiceLevel)
@@ -55,11 +53,22 @@ namespace MQTTnet
if (publisher == null) throw new ArgumentNullException(nameof(publisher));
if (topic == null) throw new ArgumentNullException(nameof(topic));
return publisher.PublishAsync(builder => builder
.WithTopic(topic)
.WithPayload(payload)
.WithQualityOfServiceLevel(qualityOfServiceLevel));
}
public static Task PublishAsync(this IApplicationMessagePublisher publisher, string topic, string payload, MqttQualityOfServiceLevel qualityOfServiceLevel, bool retain)
{
if (publisher == null) throw new ArgumentNullException(nameof(publisher));
if (topic == null) throw new ArgumentNullException(nameof(topic));
return publisher.PublishAsync(builder => builder
.WithTopic(topic)
.WithPayload(payload)
.WithQualityOfServiceLevel(qualityOfServiceLevel)
);
.WithRetainFlag(retain));
}
public static Task PublishAsync(this IApplicationMessagePublisher publisher, Func<MqttApplicationMessageBuilder, MqttApplicationMessageBuilder> builder)