X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/d43e446400ac7b65d7d2dd3acd57f8f669484449..4b1551933104a6764eec30774b92737cda2d8097:/options.h diff --git a/options.h b/options.h index 8d89808..e751535 100644 --- a/options.h +++ b/options.h @@ -3,20 +3,26 @@ #include #include "cost_func.h" +#include "deployment.h" +#include "named_object_list.h" +#include "process.h" // Global parameters, shared by all the processes namespace opt { + // Global options extern std::string program_name; - - extern std::string platform_file; - extern std::string deployment_file; - extern int help_requested; extern bool version_requested; + // Simulation parameters extern unsigned log_rate; + // Platform and deployment + extern std::string platform_file; + extern std::string deployment_file; + + // Automatic deployment namespace auto_depl { extern bool enabled; extern std::string topology; @@ -24,17 +30,28 @@ namespace opt { extern double load; } - extern std::string topology; - extern double init_load; + // Load balancing algorithm + extern std::string loba_algo; + extern bool bookkeeping; + // Application parameters + extern cost_func comp_cost; + extern cost_func comm_cost; extern unsigned maxiter; extern bool exit_on_close; - extern bool bookkeeping; + // Named parameters lists + extern struct loba_algorithms_type: + public named_object_list2 { + loba_algorithms_type(); + } loba_algorithms; - extern cost_func comp_cost; - extern cost_func comm_cost; + extern struct topologies_type: + public named_object_list { + topologies_type(); + } topologies; + // Utility functions int parse_args(int* argc, char* argv[]); void print(); void usage();