if the consumer has no packets to process, it waits until it's signaled by the producer.