Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move one method higher in As hierarchy
[simgrid.git] / src / surf / network_smpi.hpp
index beae8e2..30cf4ee 100644 (file)
@@ -1,23 +1,21 @@
-#include "network.hpp"
+/* Copyright (c) 2013-2015. The SimGrid Team.
+ * All rights reserved.                                                     */
 
-/***********
- * Classes *
- ***********/
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
 
-class NetworkSmpiModel;
-typedef NetworkSmpiModel *NetworkSmpiModelPtr;
+#include <xbt/base.h>
 
-class NetworkSmpiLink;
-typedef NetworkSmpiLink *NetworkSmpiLinkPtr;
+#include "network_cm02.hpp"
 
-class NetworkSmpiLinkLmm;
-typedef NetworkSmpiLinkLmm *NetworkSmpiLinkLmmPtr;
+namespace simgrid {
+namespace surf {
 
-class NetworkSmpiAction;
-typedef NetworkSmpiAction *NetworkSmpiActionPtr;
+/***********
+ * Classes *
+ ***********/
 
-class NetworkSmpiActionLmm;
-typedef NetworkSmpiActionLmm *NetworkSmpiActionLmmPtr;
+class XBT_PRIVATE NetworkSmpiModel;
 
 /*********
  * Tools *
@@ -29,9 +27,12 @@ typedef NetworkSmpiActionLmm *NetworkSmpiActionLmmPtr;
 
 class NetworkSmpiModel : public NetworkCm02Model {
 public:
-  NetworkSmpiModel(){};
-  void gapAppend(double size, const NetworkCm02LinkLmmPtr link, NetworkCm02ActionLmmPtr action);
-  void gapRemove(ActionLmmPtr action);
+  NetworkSmpiModel();
+  ~NetworkSmpiModel();
+
+  using NetworkCm02Model::gapAppend; // Explicit about overloaded method (silence Woverloaded-virtual from clang)
+  void gapAppend(double size, Link* link, NetworkAction *action);
+  void gapRemove(Action *action);
   double latencyFactor(double size);
   double bandwidthFactor(double size);
   double bandwidthConstraint(double rate, double bound, double size);
@@ -43,29 +44,10 @@ public:
  * Resource *
  ************/
 
-class NetworkSmpiLinkLmm : public NetworkCm02LinkLmm {
-public:
-  NetworkSmpiLinkLmm(NetworkSmpiModelPtr model, const char *name, xbt_dict_t props,
-                                  lmm_system_t system,
-                                  double constraint_value,
-                                  tmgr_history_t history,
-                                  e_surf_resource_state_t state_init,
-                                  tmgr_trace_t state_trace,
-                                  double metric_peak,
-                                  tmgr_trace_t metric_trace,
-                                  double lat_initial,
-                                  tmgr_trace_t lat_trace,
-                               e_surf_link_sharing_policy_t policy);
-};
-
 
 /**********
  * Action *
  **********/
 
-class NetworkSmpiActionLmm : public NetworkCm02ActionLmm {
-public:
-  NetworkSmpiActionLmm(ModelPtr model, double cost, bool failed);
-};
-
-
+}
+}