abort
Send RESET to the device, instructing it to discard any in-progress transfer and reboot. Best-effort — the device may disconnect before the write ACK lands; that's expected.
The RESET op remains a WITH_RESPONSE write (the bootloader is contractually allowed to act on it before the GATT ACK lands, but we still request one so the link-layer queues it reliably), but we bound the wait with a short timeout. A missing acknowledgement is ambiguous: the device may have accepted RESET and rebooted, become unresponsive, disconnected, or simply failed to receive or complete the write. We report the outcome (acknowledged, unacknowledged, or operational failure) without claiming the RESET landed. Operational Exceptions are best-effort and non-fatal; structured-concurrency cancellation and Error subtypes propagate. The caller (SecureDfuHandler) tears the connection down afterwards regardless.
Parent cancellation is preserved: a CancellationException that escapes withTimeoutOrNull is propagated.