Update byte skipping logic and improve clarity in MeshCoreConnector and ChannelMessage

This commit is contained in:
Winston Lowe
2026-03-23 08:14:46 -07:00
parent 767dc1164e
commit 630606acdc
3 changed files with 4 additions and 3 deletions
+2 -1
View File
@@ -4323,7 +4323,8 @@ class MeshCoreConnector extends ChangeNotifier {
routeType == _routeTransportFlood ||
routeType == _routeTransportDirect;
if (hasTransport) {
reader.skipBytes(2); // Skip reserved bytes in transport header
// Skip reserved bytes in transport header made up of two u16 fields
reader.skipBytes(4);
}
final pathLenRaw = reader.readByte();
final pathByteLen = _decodePathByteLen(pathLenRaw);
+1 -1
View File
@@ -129,11 +129,11 @@ class ChannelMessage {
if (code == respCodeChannelMsgRecvV3) {
reader.skipBytes(1); // Skip SNR
final flags = reader.readByte();
final hasPath = (flags & 0x01) != 0;
reader.skipBytes(1); // Skip reserved byte
channelIdx = reader.readByte();
pathLen = reader.readByte();
txtType = reader.readByte();
final hasPath = (flags & 0x01) != 0;
if (hasPath && pathLen > 0) {
reader.rewind(); // Rewind to read path length again for pathBytes
pathBytes = reader.readBytes(pathLen);
+1 -1
View File
@@ -678,7 +678,7 @@ class MessageRetryService extends ChangeNotifier {
}
}
String? getContactKeyForAckHash(Uint8List ackHash) {
String? getContactKeyForAckHash(int ackHash) {
for (var entry in _pendingMessages.entries) {
final message = entry.value;
if (message.expectedAckHash != null &&