Скорее всего idle на приеме не потребуется детектировать. Приём
заголовка пакета запускает протокольный таймер, приём конца
останавливает таймер. И далее либо пакет принялся за выделенный
слот, либо случилась ошибка (таймер сработал), ждём новый
заголовок.