A double-tap sent two OTPs and only the second code worked. We were deciding off the sent timestamp. Now an incr on the gate key decides: it returns 1, you own the send, anything else gets ResendTooSoon with the wait. If delivery fails we drop the gate, so no cooldown starts.
Was this useful?