The peek operation is non-blocking, so the update_counter is updated each time a batch (up to 16) packets is processed, or no packets are available, so in low-traffic conditions it will be checked more often. At high traffic rate, it would be every 16,000 packets.