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

Private GIT Repository
Minor cleanups.
[loba.git] / options.h
index 5c43e6f2962420d2d35e82047227efeb6afe85bd..0abec0f2e5ef0fe78e1c1802b666dbb62375177c 100644 (file)
--- a/options.h
+++ b/options.h
@@ -3,9 +3,11 @@
 
 #include <string>
 #include "cost_func.h"
 
 #include <string>
 #include "cost_func.h"
-#include "deployment.h"
 #include "named_object_list.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 {
 
 // Global parameters, shared by all the processes
 namespace opt {
@@ -19,7 +21,8 @@ namespace opt {
     extern bool version_requested;
 
     // Simulation parameters
     extern bool version_requested;
 
     // Simulation parameters
-    extern unsigned log_rate;
+    extern int log_rate;
+    extern bool exit_request;
 
     // Platform and deployment
     extern std::string platform_file;
 
     // Platform and deployment
     extern std::string platform_file;
@@ -36,11 +39,21 @@ namespace opt {
     // Load balancing algorithm
     extern std::string loba_algo;
     extern bool bookkeeping;
     // Load balancing algorithm
     extern std::string loba_algo;
     extern bool bookkeeping;
+    extern double min_transfer_amount;
+    extern double max_transfer_amount;
+    extern double min_lb_iter_duration;
 
     // Application parameters
     extern cost_func comp_cost;
     extern cost_func comm_cost;
 
     // Application parameters
     extern cost_func comp_cost;
     extern cost_func comm_cost;
-    extern unsigned maxiter;
+    extern double min_comp_iter_duration;
+    extern unsigned comp_iter_delay;
+    extern double comp_time_delay;
+
+    // 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
     extern bool exit_on_close;
 
     // Named parameters lists
@@ -55,7 +68,7 @@ namespace opt {
     } topologies;
 
     // Utility functions
     } topologies;
 
     // Utility functions
-    int parse_args(int* argc, char* argv[]);
+    bool parse_args(int* argc, char* argv[]);
     void print();
     void usage();
 
     void print();
     void usage();