Fehlerkorrekturen
This commit is contained in:
1 parent
aec2a29d74
commit
f58c1540c0
1 file changed
+9
-3
@@ -147,7 +147,7 @@ class MqttCore {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_publishText(String topic, String text) {
|
bool _publishText(String topic, String text, {bool enqueueOnError = true}) {
|
||||||
try {
|
try {
|
||||||
var buffer = Uint8Buffer();
|
var buffer = Uint8Buffer();
|
||||||
buffer.addAll(GZipEncoder().encode(const Utf8Encoder().convert(text)) as Iterable<int>);
|
buffer.addAll(GZipEncoder().encode(const Utf8Encoder().convert(text)) as Iterable<int>);
|
||||||
@@ -157,11 +157,17 @@ class MqttCore {
|
|||||||
_mqttClient!.publishMessage(messageTopic, MqttQos.exactlyOnce, buffer);
|
_mqttClient!.publishMessage(messageTopic, MqttQos.exactlyOnce, buffer);
|
||||||
|
|
||||||
Util.logInfo("message\n$text\nsend to $messageTopic");
|
Util.logInfo("message\n$text\nsend to $messageTopic");
|
||||||
|
|
||||||
|
return true;
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
|
if (enqueueOnError) {
|
||||||
_enqueueMessage(topic, text);
|
_enqueueMessage(topic, text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void _setupMqtt() async {
|
void _setupMqtt() async {
|
||||||
Util.logInfo('_setupMqtt called');
|
Util.logInfo('_setupMqtt called');
|
||||||
|
|
||||||
@@ -522,11 +528,11 @@ class MqttCore {
|
|||||||
if (enqueuedMessages.isNotEmpty) {
|
if (enqueuedMessages.isNotEmpty) {
|
||||||
for (var enqueuedMessage in enqueuedMessages) {
|
for (var enqueuedMessage in enqueuedMessages) {
|
||||||
try {
|
try {
|
||||||
_publishText(enqueuedMessage.topic, enqueuedMessage.payload);
|
if (_publishText(enqueuedMessage.topic, enqueuedMessage.payload, enqueueOnError: false)) {
|
||||||
|
|
||||||
await MyApp.isarInstance.writeTxn(() async {
|
await MyApp.isarInstance.writeTxn(() async {
|
||||||
await MyApp.isarInstance.enqueuedMessages.delete(enqueuedMessage.id);
|
await MyApp.isarInstance.enqueuedMessages.delete(enqueuedMessage.id);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
Util.logInfo("resend enqueued message failed: $ex");
|
Util.logInfo("resend enqueued message failed: $ex");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user