Our app needs to read as many packets as possible from a Bluetooth peripheral. To accomplish this, the peripheral is restored in the background (bluetooth-central background mode). At a minimum, it needs to read one specific type of packet that is sent every 1 second.
Apps woken up for any Bluetooth-related events should process them and return as quickly as possible so that the app can be suspended again.
But they never say how to return. Although it is preferable for the user that the app never suspends, it is better that the app is not penalized for staying awake too long.