On Tue, Nov 06, 2018 at 11:38:33AM +1000, teor wrote:
so if we could ask the guard for regular keepalives, we might be able to promise that the CPU will wake once every keepalive interval, unless the guard connection's lost, in which case it will wake once every 15 minutes. But keepalives from the guard would require a protocol change, which would take time to roll out, and would let the guard know (if it doesn't already) that the client's running on Android.
Tor implemented netflow padding in 0.3.1.1-alpha (May 2017): https://gitweb.torproject.org/torspec.git/tree/padding-spec.txt
Connection padding may act like a keepalive, we should consider this use case as we improve our padding designs.
Relays already send a keepalive (padding) cell every 5 minutes: see the KeepalivePeriod config option. That's separate from any of the new netflow padding. Clients send them too.
The netflow padding is more interesting for the Briar case, since it comes way way more often than keepalives: so if you're trying for deep sleep but you wake up for network activity every several seconds, you'll probably end up sad.
--Roger