if (!m_queue.enqueue(std::move(p))){
process_p(std::move(p));
}
}
В которой, очевидно есть ошибка. Если мы не смогли запушить пакет в очередь - мы вызываем process_p передавая туда невалидный пакет.
Вопрос: как можно переработать этот сниппет с минимальными потерями по перфомансу?
Т.е. очевидно можно просто делать копию пакета на добавлении в очередь (передавая по конст рефу, например) но тогда копия будет делаться на каждый пакет, что есть есть гуд
чёто я не понял, почему мы не смогли в очередь добавить?
Баг в queue
Странно как-то при обработке пакет перемещать...
Обсуждают сегодня