diff options
| author | Nicolas James <Eele1Ephe7uZahRie@tutanota.com> | 2026-04-05 22:01:11 +1000 |
|---|---|---|
| committer | Nicolas James <Eele1Ephe7uZahRie@tutanota.com> | 2026-04-05 22:01:11 +1000 |
| commit | cf0bced6cd86782e9706acda1b3b6ce6b4e98481 (patch) | |
| tree | 618912ff9025cf0d249e10203b110002a26450f9 /src/strategies/anti_lag/queue_strategy.hh | |
| parent | 21e55ae8a1b3ddd4dff6c24a57bdc7d7272fff16 (diff) | |
Implement refactored AL2, todo frame limit
Diffstat (limited to 'src/strategies/anti_lag/queue_strategy.hh')
| -rw-r--r-- | src/strategies/anti_lag/queue_strategy.hh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/strategies/anti_lag/queue_strategy.hh b/src/strategies/anti_lag/queue_strategy.hh index 81ae653..3887474 100644 --- a/src/strategies/anti_lag/queue_strategy.hh +++ b/src/strategies/anti_lag/queue_strategy.hh @@ -3,14 +3,33 @@ #include "strategies/queue_strategy.hh" +#include <deque> +#include <memory> +#include <mutex> + namespace low_latency { class QueueContext; class AntiLagQueueStrategy final : public QueueStrategy { + private: + std::mutex mutex; + std::deque<std::unique_ptr<Submission>> pending_submissions; + public: AntiLagQueueStrategy(QueueContext& queue); virtual ~AntiLagQueueStrategy(); + + public: + virtual void notify_submit(const VkSubmitInfo& submit, + std::unique_ptr<Submission> submission) override; + virtual void notify_submit(const VkSubmitInfo2& submit, + std::unique_ptr<Submission> submission) override; + + public: + // Wait for all pending submissions to complete. Resets pending submissions + // once done. + void await_complete(); }; } // namespace low_latency |
