StreamScheduler.h File
Stage executor for fair multi-stream scheduling. More...
Included Headers
#include "graph/StageExecutor.h"
#include "graph/nodes/StageNode.h"
#include <cstddef>
#include <cstdint>
#include <deque>
#include <memory>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
Namespaces Index
| namespace | simaai |
| namespace | neat |
| namespace | graph |
| namespace | nodes |
Classes Index
| struct | StreamSchedulerOptions |
|
Configuration for a StreamScheduler stage. More... | |
| class | StreamScheduler |
|
Stage executor that round-robin-schedules samples across multiple streams. More... | |
Description
Stage executor for fair multi-stream scheduling.
File Listing
The file content with the documentation metadata removed is:
8#include "graph/StageExecutor.h"
9#include "graph/nodes/StageNode.h"
21namespace simaai::neat::graph::nodes {
31enum class StreamDropPolicy {
32 DropOldest = 0,
33 DropNewest,
44struct StreamSchedulerOptions {
45 std::size_t per_stream_queue = 2;
62class StreamScheduler final : public simaai::neat::graph::StageExecutor {
65 explicit StreamScheduler(StreamSchedulerOptions opt);
68 void set_ports(const StagePorts& ports) override;
76 StreamSchedulerOptions opt_;
80 PortId out_port_ = kInvalidPort;
92std::shared_ptr<simaai::neat::graph::Node> StreamSchedulerNode(StreamSchedulerOptions opt = {},
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.