changing heartbeats to not send if other traffic is running, and made it a little more efficient on receives