In refining my PacketHandler library to support an application that requires the control of a pump, I have developed a simple reliable packet delivery protocol.
A basic point-to-point protocol, it simply queues packets that are awaiting acknowledgement of receipt, on the sending Node, and tries up to three times, at ~1 sec intervals, to elicit a response. Whether or not acknowledgement is received by the third attempt, it is up to the sending Node to manage any subsequently necessary actions.
The packet structure employed by the PacketHandler has been updated to accommodate the flags necessary to both indicate a requirement for acknowledgement and the acknowledgement itself. The original packet structure nonetheless remains compatible with the new class methods.