gossip() should account for bytes taken by encryption
Decouple some most messages from the UDP listener loop