diff --git a/zephcore/src/Dispatcher.cpp b/zephcore/src/Dispatcher.cpp index 304f329..6172c1b 100644 --- a/zephcore/src/Dispatcher.cpp +++ b/zephcore/src/Dispatcher.cpp @@ -303,11 +303,10 @@ void Dispatcher::checkRecv() logRx(pkt, pkt->getRawLength(), score); if (pkt->isRouteFlood()) { n_recv_flood++; - processRecvPacket(pkt); } else { n_recv_direct++; - processRecvPacket(pkt); } + processRecvPacket(pkt); } } diff --git a/zephcore/src/StaticPoolPacketManager.cpp b/zephcore/src/StaticPoolPacketManager.cpp index 96b2471..638041f 100644 --- a/zephcore/src/StaticPoolPacketManager.cpp +++ b/zephcore/src/StaticPoolPacketManager.cpp @@ -46,14 +46,7 @@ struct PacketQueue { } if (best_idx < 0) return nullptr; - Packet *top = _table[best_idx]; - for (int i = best_idx; i < _num - 1; i++) { - _table[i] = _table[i + 1]; - _pri_table[i] = _pri_table[i + 1]; - _schedule_table[i] = _schedule_table[i + 1]; - } - _num--; - return top; + return removeByIdx(best_idx); } Packet *removeByIdx(int i) {