Stage executor that round-robin-schedules samples across multiple streams. More...
Declaration
class simaai::neat::graph::nodes::StreamScheduler { ... }
Base class
| class | StageExecutor |
|
Actor-style executor base class — implement to add a new runtime-graph stage. More...
|
|
Public Constructors Index
Public Member Functions Index
| void | set_ports (const StagePorts &ports) override |
|
Bind the executor to its runtime ports. More...
|
|
| void | on_input (StageMsg &&msg, std::vector< StageOutMsg > &out) override |
|
Enqueue the incoming sample into its stream's queue and emit ready samples. More...
|
|
Private Member Functions Index
Private Member Attributes Index
Description
Stage executor that round-robin-schedules samples across multiple streams.
Maintains a per-stream queue and emits samples in a fair round-robin order across active streams, applying StreamDropPolicy when a stream's queue overflows.
- See Also
StreamSchedulerNode
- See Also
StreamDropPolicy
- See Also
StageExecutor
Definition at line 62 of file StreamScheduler.h.
Public Constructors
StreamScheduler()
Public Member Functions
on_input()
| void simaai::neat::graph::nodes::StreamScheduler::on_input (StageMsg && msg, std::vector< StageOutMsg > & out) |
|
virtual
|
Enqueue the incoming sample into its stream's queue and emit ready samples.
Definition at line 70 of file StreamScheduler.h.
set_ports()
| void simaai::neat::graph::nodes::StreamScheduler::set_ports (const StagePorts & ports) |
|
virtual
|
Private Member Functions
emit_one_()
| bool simaai::neat::graph::nodes::StreamScheduler::emit_one_ (std::vector< StageOutMsg > & out) |
|
ensure_stream_()
| void simaai::neat::graph::nodes::StreamScheduler::ensure_stream_ (const std::string & stream_id) |
|
Private Member Attributes
active_
| std::unordered_set<std::string> simaai::neat::graph::nodes::StreamScheduler::active_ |
|
opt_
| StreamSchedulerOptions simaai::neat::graph::nodes::StreamScheduler::opt_ |
|
out_port_
| PortId simaai::neat::graph::nodes::StreamScheduler::out_port_ = kInvalidPort |
|
queues_
| std::unordered_map<std::string, std::deque<Sample> > simaai::neat::graph::nodes::StreamScheduler::queues_ |
|
Definition at line 77 of file StreamScheduler.h.
77 std::unordered_map<std::string, std::deque<Sample>> queues_;
rr_order_
| std::deque<std::string> simaai::neat::graph::nodes::StreamScheduler::rr_order_ |
|
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.