Fehler Merge behoben
Kompression von Nachrichten eingebaut
This commit is contained in:
1 parent
ac42cc5331
commit
a1dd6b3624
6 files changed
+19
-17
No files matched your search
+13
-11
@@ -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()));
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user