libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
kernelfqpacketscheduler.h
Go to the documentation of this file.
1
8#pragma once
9
10
11#include <promeki/config.h>
12#if PROMEKI_ENABLE_NETWORK
13#include <promeki/namespace.h>
15
16PROMEKI_NAMESPACE_BEGIN
17
53class KernelFqPacketScheduler : public PacketScheduler {
54 public:
55 KernelFqPacketScheduler() = default;
56 ~KernelFqPacketScheduler() override = default;
57
58 Error configure(const Spec &spec) override;
59 int enqueue(const PacketTransport::DatagramList &datagrams) override;
60 int predictedTxDelayUs() const override;
61
62 private:
68 Error applyRate();
69
70 uint64_t _lastAppliedRate = 0;
71 bool _everApplied = false;
72};
73
74PROMEKI_NAMESPACE_END
75
76#endif // PROMEKI_ENABLE_NETWORK