Remove batch sending of messages to prevent message reordering and several required awaits.

This commit is contained in:
Christian Kratky
2018-06-15 00:19:51 +02:00
parent 26eed30dbf
commit 6192685671
14 changed files with 106 additions and 127 deletions
@@ -99,27 +99,23 @@ namespace MQTTnet.Extensions.ManagedClient
return Task.FromResult(0);
}
public Task PublishAsync(IEnumerable<MqttApplicationMessage> applicationMessages)
public Task PublishAsync(MqttApplicationMessage applicationMessage)
{
if (applicationMessages == null) throw new ArgumentNullException(nameof(applicationMessages));
if (applicationMessage == null) throw new ArgumentNullException(nameof(applicationMessage));
return PublishAsync(applicationMessages.Select(m =>
new ManagedMqttApplicationMessageBuilder().WithApplicationMessage(m).Build()));
return PublishAsync(new ManagedMqttApplicationMessageBuilder().WithApplicationMessage(applicationMessage).Build());
}
public async Task PublishAsync(IEnumerable<ManagedMqttApplicationMessage> applicationMessages)
public async Task PublishAsync(ManagedMqttApplicationMessage applicationMessage)
{
if (applicationMessages == null) throw new ArgumentNullException(nameof(applicationMessages));
if (applicationMessage == null) throw new ArgumentNullException(nameof(applicationMessage));
foreach (var applicationMessage in applicationMessages)
if (_storageManager != null)
{
if (_storageManager != null)
{
await _storageManager.AddAsync(applicationMessage).ConfigureAwait(false);
}
_messageQueue.Add(applicationMessage);
await _storageManager.AddAsync(applicationMessage).ConfigureAwait(false);
}
_messageQueue.Add(applicationMessage);
}
public async Task SubscribeAsync(IEnumerable<TopicFilter> topicFilters)