Files
ZephCore/zephcore/include/mesh/StaticPoolPacketManager.h
T

27 lines
726 B
C++

/*
* SPDX-License-Identifier: Apache-2.0
* Static pool PacketManager
*/
#pragma once
#include <mesh/Dispatcher.h>
namespace mesh {
class StaticPoolPacketManager : public PacketManager {
public:
Packet *allocNew() override;
void free(Packet *packet) override;
void queueOutbound(Packet *packet, uint8_t priority, uint32_t scheduled_for) override;
Packet *getNextOutbound(uint32_t now) override;
int getOutboundCount(uint32_t now) const override;
int getFreeCount() const override;
Packet *getOutboundByIdx(int i) override;
Packet *removeOutboundByIdx(int i) override;
void queueInbound(Packet *packet, uint32_t scheduled_for) override;
Packet *getNextInbound(uint32_t now) override;
};
} /* namespace mesh */