@@ -759,17 +759,28 @@ template <size_t MessageSize = 256> class Protocol {
759759 /* *
760760 * @brief Envia ACK de lote para coleta de listas no host.
761761 *
762- * Formato: `nome(s,s,<messageIndex>,<messageIndex>,ok);`
762+ * Formato multi-mensagem: `nome(s,s,0,B-1,ok);` após a última mensagem.
763+ * Mensagem única (B=1): `nome(s,s,0,0,ok);`
763764 *
764765 * @param cmdName Nome do comando da lista.
766+ * @param lo Índice inclusive da primeira mensagem confirmada.
767+ * @param hi Índice inclusive da última mensagem confirmada.
768+ */
769+ void emitBatchAckRange (const char *cmdName, int lo, int hi) const {
770+ char loBuf[16 ];
771+ char hiBuf[16 ];
772+ snprintf (loBuf, sizeof (loBuf), " %d" , lo);
773+ snprintf (hiBuf, sizeof (hiBuf), " %d" , hi);
774+ emitSingleResponse (cmdName, {loBuf, hiBuf, " ok" });
775+ }
776+
777+ /* *
778+ * @brief Envia ACK para uma única mensagem de lote (`lo == hi == j`).
779+ * @param cmdName Nome do comando da lista.
765780 * @param messageIndex Índice `j` da mensagem confirmada.
766781 */
767782 void emitBatchAck (const char *cmdName, int messageIndex) const {
768- char lo[16 ];
769- char hi[16 ];
770- snprintf (lo, sizeof (lo), " %d" , messageIndex);
771- snprintf (hi, sizeof (hi), " %d" , messageIndex);
772- emitSingleResponse (cmdName, {lo, hi, " ok" });
783+ emitBatchAckRange (cmdName, messageIndex, messageIndex);
773784 }
774785
775786 /* *
0 commit comments