* new PAYLOAD_TYPE_MULTIPART

* experimental double ACK's (at each hop), sent 300ms apart (direct mode only)
This commit is contained in:
Scott Powell 2025-06-23 01:14:08 +10:00
parent 9df3c8c663
commit b1ca3d1eb1
6 changed files with 181 additions and 38 deletions

View file

@ -576,15 +576,18 @@ protected:
uint32_t delay_millis;
if (send_ack) {
mesh::Packet* ack = createAck(ack_hash);
if (ack) {
if (client->out_path_len < 0) {
sendFlood(ack, TXT_ACK_DELAY);
} else {
sendDirect(ack, client->out_path, client->out_path_len, TXT_ACK_DELAY);
}
if (client->out_path_len < 0) {
mesh::Packet* ack = createAck(ack_hash);
if (ack) sendFlood(ack, TXT_ACK_DELAY);
delay_millis = TXT_ACK_DELAY + REPLY_DELAY_MILLIS;
} else {
mesh::Packet* a1 = createMultiAck(ack_hash, 1);
if (a1) sendDirect(a1, client->out_path, client->out_path_len, TXT_ACK_DELAY);
mesh::Packet* a2 = createAck(ack_hash);
if (a2) sendDirect(a2, client->out_path, client->out_path_len, TXT_ACK_DELAY + 300);
delay_millis = TXT_ACK_DELAY + REPLY_DELAY_MILLIS + 300;
}
delay_millis = TXT_ACK_DELAY + REPLY_DELAY_MILLIS;
} else {
delay_millis = 0;
}