11#include <promeki/config.h>
12#if PROMEKI_ENABLE_NETWORK
18PROMEKI_NAMESPACE_BEGIN
55class CadencePacketScheduler :
public PacketScheduler {
58 static constexpr int DefaultStallReanchorMultiplier = 10;
60 CadencePacketScheduler();
61 ~CadencePacketScheduler()
override =
default;
63 Error configure(
const Spec &spec)
override;
64 int enqueue(
const PacketTransport::DatagramList &datagrams)
override;
65 int predictedTxDelayUs()
const override;
71 void setStallReanchorMultiplier(
int n) { _stallMultiplier = n; }
77 int sendOne(
const PacketTransport::Datagram &d);
79 Cadence _streamCadence{Duration()};
80 bool _streamAnchored =
false;
81 int _stallMultiplier = DefaultStallReanchorMultiplier;