summaryrefslogtreecommitdiffstats
path: root/src/server/CompiledGraph.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-02-18 19:29:15 +0100
committerDavid Robillard <d@drobilla.net>2017-02-18 19:38:14 +0100
commit667e633e829760b5a1e9591227ec5437cac1995d (patch)
treeffbcdcdacb1187912027e0365c8b0e571b43e5bf /src/server/CompiledGraph.hpp
parent24b575cf28f9b007939b9fa14c991c51326c8348 (diff)
downloadingen-667e633e829760b5a1e9591227ec5437cac1995d.tar.gz
ingen-667e633e829760b5a1e9591227ec5437cac1995d.tar.bz2
ingen-667e633e829760b5a1e9591227ec5437cac1995d.zip
Improve parallel analysis and execution algorithms
Diffstat (limited to 'src/server/CompiledGraph.hpp')
-rw-r--r--src/server/CompiledGraph.hpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/server/CompiledGraph.hpp b/src/server/CompiledGraph.hpp
index eeeb6111..0578c18a 100644
--- a/src/server/CompiledGraph.hpp
+++ b/src/server/CompiledGraph.hpp
@@ -1,6 +1,6 @@
/*
This file is part of Ingen.
- Copyright 2007-2016 David Robillard <http://drobilla.net/>
+ Copyright 2007-2017 David Robillard <http://drobilla.net/>
Ingen is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
@@ -61,16 +61,21 @@ private:
typedef std::set<BlockImpl*> BlockSet;
void compile_graph(GraphImpl* graph);
- void compile_set(const BlockSet& blocks, Task& task, BlockSet& k);
- void compile_block(BlockImpl* block, Task& task, BlockSet& k);
- void compile_dependant(const BlockImpl* root,
- BlockImpl* block,
- Task& task,
- BlockSet& k);
-
- Log& _log;
- const Raul::Path _path;
- Task _master;
+
+ void compile_block(BlockImpl* block,
+ Task& task,
+ size_t max_depth,
+ BlockSet& k);
+
+ void compile_provider(const BlockImpl* root,
+ BlockImpl* block,
+ Task& task,
+ size_t max_depth,
+ BlockSet& k);
+
+ Log& _log;
+ const Raul::Path _path;
+ std::unique_ptr<Task> _master;
};
} // namespace Server