Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Avoid unsafe things
[simgrid.git] / src / surf / network_interface.hpp
index 25c3d61..25ec028 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 2004-2015. The SimGrid Team.
- * All rights reserved.                                                     */
+/* Copyright (c) 2004-2017. The SimGrid Team. All rights reserved.          */
 
 /* 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. */
@@ -7,17 +6,12 @@
 #ifndef SURF_NETWORK_INTERFACE_HPP_
 #define SURF_NETWORK_INTERFACE_HPP_
 
-#include <xbt/base.h>
-
-#include <unordered_map>
-
-#include "xbt/fifo.h"
-#include "xbt/dict.h"
-#include "surf_interface.hpp"
-#include "src/surf/PropertyHolder.hpp"
-
-#include "simgrid/link.h"
 #include "simgrid/s4u/Link.hpp"
+#include "src/surf/PropertyHolder.hpp"
+#include "src/surf/surf_interface.hpp"
+#include "xbt/base.h"
+#include <list>
+#include <unordered_map>
 
 /***********
  * Classes *
 
 namespace simgrid {
   namespace surf {
-
-    class NetworkAction;
-
-    /** @brief Callback signal fired when the state of a NetworkAction changes
-     *  Signature: `void(NetworkAction *action, simgrid::surf::Action::State old, simgrid::surf::Action::State current)` */
-    XBT_PUBLIC_DATA(simgrid::xbt::signal<void(simgrid::surf::NetworkAction*, simgrid::surf::Action::State, simgrid::surf::Action::State)>) networkActionStateChangedCallbacks;
-
     /*********
      * Model *
      *********/
@@ -137,17 +124,6 @@ namespace simgrid {
     public:
       /** @brief Public interface */
       s4u::Link piface_;
-      /** @brief Callback signal fired when a new Link is created */
-      static simgrid::xbt::signal<void(surf::LinkImpl*)> onCreation;
-
-      /** @brief Callback signal fired when a Link is destroyed */
-      static simgrid::xbt::signal<void(surf::LinkImpl*)> onDestruction;
-
-      /** @brief Callback signal fired when the state of a Link changes (when it is turned on or off) */
-      static simgrid::xbt::signal<void(surf::LinkImpl*)> onStateChange;
-
-      /** @brief Callback signal fired when a communication starts */
-      static simgrid::xbt::signal<void(surf::NetworkAction*, s4u::Host* src, s4u::Host* dst)> onCommunicate;
 
       /** @brief Get the bandwidth in bytes per second of current Link */
       virtual double bandwidth();
@@ -231,14 +207,12 @@ namespace simgrid {
       : simgrid::surf::Action(model, cost, failed, var) {};
 
       void setState(simgrid::surf::Action::State state) override;
+      std::list<LinkImpl*> links();
 
       double latency_;
       double latCurrent_;
       double weight_;
       double rate_;
-      const char* senderLinkName_;
-      double senderSize_;
-      xbt_fifo_item_t senderFifoItem_;
     };
   }
 }