Fehler Merge behoben

Kompression von Nachrichten eingebaut
This commit is contained in:
Sven committed 2024-03-27 16:01:23 +01:00
1 parent ac42cc5331
commit a1dd6b3624
6 files changed
+19 -17

No files matched your search

+13 -11
View File
@@ -138,15 +138,15 @@ class MqttCore {
Util.logInfo("binary message send to $topic");
}
publishText(String topic, String text) {
publishMessage(String topic, String text) {
var buffer = Uint8Buffer();
buffer.addAll(utf8.encode(text));
buffer.addAll(GZipEncoder().encode(const Utf8Encoder().convert(text)) as Iterable<int>);
var fullTopic = "$_toServerTopic$topic/$_clientId";
var messageTopic = "$_toServerTopic$topic/$_clientId";
_mqttClient.publishMessage(fullTopic, MqttQos.exactlyOnce, buffer);
_mqttClient.publishMessage(messageTopic, MqttQos.exactlyOnce, buffer);
Util.logInfo("message\n$text\nsend to $fullTopic");
Util.logInfo("message\n$text\nsend to $messageTopic");
}
void _setupSubscriptions() async {
@@ -158,7 +158,9 @@ class MqttCore {
final MqttPublishMessage message = mqttMessage.payload as MqttPublishMessage;
if (message.variableHeader!.topicName.endsWith(_clientId)) {
String payload = utf8.decode(MqttPublishPayload.bytesToStringAsString(message.payload.message).codeUnits);
var messageBytes = message.payload.message;
String payload = utf8.decode(GZipDecoder().decodeBytes(messageBytes));
var topicArray = message.variableHeader?.topicName;
var topicArraySplited = topicArray!.split("/");
var topic = topicArraySplited[3];
@@ -406,7 +408,7 @@ class MqttCore {
var startSessionMessage = StartSessionMessage();
var jsonMap = startSessionMessage.toJson();
var json = jsonEncode(jsonMap);
publishText("session", json);
publishMessage("session", json);
}
_sendSyncMessage() async
@@ -425,7 +427,7 @@ class MqttCore {
answer.sync.jobs.add(syncJob);
}
MqttCore.instance.publishText("sync_request_response", jsonEncode(answer.toJson()));
MqttCore.instance.publishMessage("sync_request_response", jsonEncode(answer.toJson()));
}
void _startTrackTimer() {
@@ -439,7 +441,7 @@ class MqttCore {
trackMessage.pos!.long = position.longitude;
trackMessage.pos!.acc = position.accuracy.toInt();
publishText("track", jsonEncode(trackMessage.toJson()));
publishMessage("track", jsonEncode(trackMessage.toJson()));
}
});
}
@@ -466,7 +468,7 @@ class MqttCore {
if (enqueuedMessages.isNotEmpty) {
for (var enqueuedMessage in enqueuedMessages) {
try {
publishText(enqueuedMessage.topic, enqueuedMessage.payload);
publishMessage(enqueuedMessage.topic, enqueuedMessage.payload);
await MyApp.isarInstance.writeTxn(() async {
await MyApp.isarInstance.enqueuedMessages.delete(enqueuedMessage.id);
@@ -486,6 +488,6 @@ class MqttCore {
message.received.ver = job.ver;
message.received.utc = DateTime.now().millisecondsSinceEpoch;
MqttCore.instance.publishText('job', jsonEncode(message.toJson()));
MqttCore.instance.publishMessage('job', jsonEncode(message.toJson()));
}
}