11#include <promeki/config.h>
12#if PROMEKI_ENABLE_NETWORK
18PROMEKI_NAMESPACE_BEGIN
76class TxTimePacketScheduler :
public PacketScheduler {
78 TxTimePacketScheduler() =
default;
79 ~TxTimePacketScheduler()
override =
default;
81 Error configure(
const Spec &spec)
override;
82 int enqueue(
const PacketTransport::DatagramList &datagrams)
override;
83 int predictedTxDelayUs()
const override;
90 uint64_t taiNanosNow()
const;
92 Cadence _streamCadence{Duration()};
93 bool _streamAnchored =
false;
94 bool _txTimeEnabled =
false;
95 int64_t _taiOffsetNs = 0;
96 int _stallMultiplier = 10;