Hedgehog  0.0.0
A library to generate hybrid pipeline workflow systems
hh::DefaultScheduler Class Reference

Default scheduler for Hedgehog graph. More...

#include "default_scheduler.h"

Inheritance diagram for hh::DefaultScheduler:
Inheritance graph
Collaboration diagram for hh::DefaultScheduler:
Collaboration graph

Public Member Functions

 DefaultScheduler ()
 Default constructor.
 
std::unique_ptr< AbstractSchedulercreate () const override
 Definition of virtual constructor. More...
 
 ~DefaultScheduler () override=default
 Default destructor.
 
void spawnThreads (std::vector< std::shared_ptr< core::CoreNode >> &insideCores) override
 Spawn the threads for all graph's inside node. More...
 
void joinAll () override
 Wait for all inside nodes to join and join the threads of all inside graphs.
 
- Public Member Functions inherited from hh::AbstractScheduler
 AbstractScheduler ()=default
 Default constructor.
 
virtual ~AbstractScheduler ()=default
 Default destructor.
 

Private Attributes

std::unique_ptr< std::vector< std::thread > > threads_ = nullptr
 List of threads spawned.
 
std::unique_ptr< std::vector< std::shared_ptr< core::CoreNode > > > innerGraphs_ = nullptr
 List of inner graphs, all graphs could have it owns AbstractScheduler.
 

Detailed Description

Default scheduler for Hedgehog graph.

Definition at line 30 of file default_scheduler.h.

Member Function Documentation

◆ create()

std::unique_ptr<AbstractScheduler> hh::DefaultScheduler::create ( ) const
inlineoverridevirtual

Definition of virtual constructor.

Returns
New instance of DefaultScheduler

Implements hh::AbstractScheduler.

Definition at line 46 of file default_scheduler.h.

Here is the call graph for this function:

◆ spawnThreads()

void hh::DefaultScheduler::spawnThreads ( std::vector< std::shared_ptr< core::CoreNode >> &  insideCores)
inlineoverridevirtual

Spawn the threads for all graph's inside node.

Parameters
insideCoresGraph's inside nodes

Implements hh::AbstractScheduler.

Definition at line 55 of file default_scheduler.h.

Here is the call graph for this function:

The documentation for this class was generated from the following file: