Fehlerkorrekturen
This commit is contained in:
1 parent
aec2a29d74
commit
f58c1540c0
1 file changed
+13
-7
@@ -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");
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user