Fehlerkorrekturen

This commit is contained in:
Sven committed 2024-05-07 11:38:52 +02:00
1 parent aec2a29d74
commit f58c1540c0
1 file changed
+13 -7
+13 -7
View File
@@ -147,7 +147,7 @@ class MqttCore {
}
}
_publishText(String topic, String text) {
bool _publishText(String topic, String text, {bool enqueueOnError = true}) {
try {
var buffer = Uint8Buffer();
buffer.addAll(GZipEncoder().encode(const Utf8Encoder().convert(text)) as Iterable<int>);
@@ -157,9 +157,15 @@ class MqttCore {
_mqttClient!.publishMessage(messageTopic, MqttQos.exactlyOnce, buffer);
Util.logInfo("message\n$text\nsend to $messageTopic");
return true;
} catch (ex) {
_enqueueMessage(topic, text);
if (enqueueOnError) {
_enqueueMessage(topic, text);
}
}
return false;
}
void _setupMqtt() async {
@@ -522,11 +528,11 @@ class MqttCore {
if (enqueuedMessages.isNotEmpty) {
for (var enqueuedMessage in enqueuedMessages) {
try {
_publishText(enqueuedMessage.topic, enqueuedMessage.payload);
await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.enqueuedMessages.delete(enqueuedMessage.id);
});
if (_publishText(enqueuedMessage.topic, enqueuedMessage.payload, enqueueOnError: false)) {
await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.enqueuedMessages.delete(enqueuedMessage.id);
});
}
} catch (ex) {
Util.logInfo("resend enqueued message failed: $ex");
}