]> AND Private Git Repository - loba.git/blobdiff - options.h
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Define classes for mutex and condition objects.
[loba.git] / options.h
index 4e352c604f30fb914429c985dc35d21689df0378..fbc4851a50427caa2fb609b21ee038b3de207c64 100644 (file)
--- a/options.h
+++ b/options.h
@@ -4,11 +4,17 @@
 #include <string>
 #include "cost_func.h"
 #include "named_object_list.h"
-#include "process.h"
+
+// These classes may use include options.h, so make forward declarations
+class deployment_generator;
+class process;
 
 // Global parameters, shared by all the processes
 namespace opt {
 
+    // Constants
+    extern const double load_ratio_threshold;
+
     // Global options
     extern std::string program_name;
     extern int help_requested;
@@ -36,7 +42,13 @@ namespace opt {
     // Application parameters
     extern cost_func comp_cost;
     extern cost_func comm_cost;
-    extern unsigned maxiter;
+    extern double min_lb_iter_duration;
+    extern double min_comp_iter_duration;
+
+    // Parameters for the end of the simulation
+    extern unsigned lb_maxiter;
+    extern unsigned comp_maxiter;
+    extern double time_limit;
     extern bool exit_on_close;
 
     // Named parameters lists
@@ -45,15 +57,13 @@ namespace opt {
             loba_algorithms_type();
     } loba_algorithms;
 
-#if 0
     extern struct topologies_type:
-        public named_object_list<xxx> {
+        public named_object_list<deployment_generator> {
             topologies_type();
     } topologies;
-#endif
 
     // Utility functions
-    int parse_args(int* argc, char* argv[]);
+    bool parse_args(int* argc, char* argv[]);
     void print();
     void usage();