Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
stringify
[simgrid.git] / src / surf / xml / platf_private.hpp
index b1c9fab..e321afc 100644 (file)
@@ -1,6 +1,6 @@
 /* platf_private.h - Interface to the SimGrid platforms which visibility should be limited to this directory */
 
-/* Copyright (c) 2004-2018. The SimGrid Team.
+/* Copyright (c) 2004-2019. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -37,10 +37,10 @@ struct HostCreationArgs {
   std::vector<double> speed_per_pstate;
   int pstate               = 0;
   int core_amount          = 0;
-  tmgr_trace_t speed_trace = nullptr;
-  tmgr_trace_t state_trace = nullptr;
-  const char* coord        = nullptr;
-  std::map<std::string, std::string>* properties = nullptr;
+  profile::Profile* speed_trace                            = nullptr;
+  profile::Profile* state_trace                            = nullptr;
+  std::string coord                                        = "";
+  std::unordered_map<std::string, std::string>* properties = nullptr;
 };
 
 class HostLinkCreationArgs {
@@ -54,12 +54,12 @@ class LinkCreationArgs {
 public:
   std::string id;
   double bandwidth                    = 0;
-  tmgr_trace_t bandwidth_trace        = nullptr;
+  profile::Profile* bandwidth_trace                        = nullptr;
   double latency                      = 0;
-  tmgr_trace_t latency_trace          = nullptr;
-  tmgr_trace_t state_trace            = nullptr;
+  profile::Profile* latency_trace                          = nullptr;
+  profile::Profile* state_trace                            = nullptr;
   simgrid::s4u::Link::SharingPolicy policy       = simgrid::s4u::Link::SharingPolicy::FATPIPE;
-  std::map<std::string, std::string>* properties = nullptr;
+  std::unordered_map<std::string, std::string>* properties = nullptr;
 };
 
 class PeerCreationArgs {
@@ -69,8 +69,8 @@ public:
   double bw_in;
   double bw_out;
   std::string coord;
-  tmgr_trace_t speed_trace;
-  tmgr_trace_t state_trace;
+  profile::Profile* speed_trace;
+  profile::Profile* state_trace;
 };
 
 class RouteCreationArgs {
@@ -102,7 +102,7 @@ public:
   double limiter_link = 0;
   ClusterTopology topology;
   std::string topo_parameters;
-  std::map<std::string, std::string>* properties;
+  std::unordered_map<std::string, std::string>* properties;
   std::string router_id;
   simgrid::s4u::Link::SharingPolicy sharing_policy;
   simgrid::s4u::Link::SharingPolicy bb_sharing_policy;
@@ -124,7 +124,7 @@ public:
   std::string id;
   std::string type_id;
   std::string content;
-  std::map<std::string, std::string>* properties;
+  std::unordered_map<std::string, std::string>* properties;
   std::string attach;
 };
 
@@ -133,8 +133,8 @@ public:
   std::string id;
   std::string model;
   std::string content;
-  std::map<std::string, std::string>* properties;
-  std::map<std::string, std::string>* model_properties;
+  std::unordered_map<std::string, std::string>* properties;
+  std::unordered_map<std::string, std::string>* model_properties;
   sg_size_t size;
 };
 
@@ -144,7 +144,7 @@ public:
   std::string name;
 };
 
-class TraceCreationArgs {
+class ProfileCreationArgs {
 public:
   std::string id;
   std::string file;
@@ -166,7 +166,7 @@ enum class ActorOnFailure { DIE, RESTART }; // FIXME: move to a better namespace
 class ActorCreationArgs {
 public:
   std::vector<std::string> args;
-  std::map<std::string, std::string>* properties = nullptr;
+  std::unordered_map<std::string, std::string>* properties = nullptr;
   const char* host                       = nullptr;
   const char* function                   = nullptr;
   double start_time                      = 0.0;
@@ -185,10 +185,8 @@ public:
 void routing_cluster_add_backbone(simgrid::kernel::resource::LinkImpl* bb);
 /*** END of the parsing cruft ***/
 
-XBT_PUBLIC void sg_platf_begin(); // Start a new platform
-XBT_PUBLIC void sg_platf_end();   // Finish the creation of the platform
-
-XBT_PUBLIC simgrid::s4u::NetZone* sg_platf_new_Zone_begin(simgrid::kernel::routing::ZoneCreationArgs* zone); // Begin description of new Zone
+XBT_PUBLIC simgrid::kernel::routing::NetZoneImpl*
+sg_platf_new_Zone_begin(simgrid::kernel::routing::ZoneCreationArgs* zone);         // Begin description of new Zone
 XBT_PUBLIC void sg_platf_new_Zone_seal();                                          // That Zone is fully described
 
 XBT_PUBLIC void sg_platf_new_host(simgrid::kernel::routing::HostCreationArgs* host);      // Add a host      to the current Zone
@@ -197,13 +195,13 @@ XBT_PUBLIC void sg_platf_new_link(simgrid::kernel::routing::LinkCreationArgs* li
 XBT_PUBLIC void sg_platf_new_peer(simgrid::kernel::routing::PeerCreationArgs* peer);          // Add a peer      to the current Zone
 XBT_PUBLIC void sg_platf_new_cluster(simgrid::kernel::routing::ClusterCreationArgs* clust);   // Add a cluster   to the current Zone
 XBT_PUBLIC void sg_platf_new_cabinet(simgrid::kernel::routing::CabinetCreationArgs* cabinet); // Add a cabinet   to the current Zone
-XBT_PUBLIC simgrid::kernel::routing::NetPoint*                      // Add a router    to the current Zone
-    sg_platf_new_router(std::string, const char* coords);
+XBT_PUBLIC simgrid::kernel::routing::NetPoint* // Add a router    to the current Zone
+    sg_platf_new_router(const std::string&, const char* coords);
 
 XBT_PUBLIC void sg_platf_new_route(simgrid::kernel::routing::RouteCreationArgs* route);             // Add a route
 XBT_PUBLIC void sg_platf_new_bypassRoute(simgrid::kernel::routing::RouteCreationArgs* bypassroute); // Add a bypassRoute
 
-XBT_PUBLIC void sg_platf_new_trace(simgrid::kernel::routing::TraceCreationArgs* trace);
+XBT_PUBLIC void sg_platf_new_trace(simgrid::kernel::routing::ProfileCreationArgs* trace);
 
 XBT_PUBLIC void sg_platf_new_storage(simgrid::kernel::routing::StorageCreationArgs* storage); // Add a storage to the current Zone
 XBT_PUBLIC void sg_platf_new_storage_type(simgrid::kernel::routing::StorageTypeCreationArgs* storage_type);
@@ -229,7 +227,7 @@ XBT_PUBLIC int surf_parse_lex_destroy();
 namespace simgrid {
 namespace surf {
 
-extern XBT_PRIVATE simgrid::xbt::signal<void(kernel::routing::ClusterCreationArgs*)> on_cluster;
+extern XBT_PRIVATE simgrid::xbt::signal<void(kernel::routing::ClusterCreationArgs const&)> on_cluster;
 }
 }