Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Save the src_wifi_link and dst_wifi_link in a subclass of NetCm02Action
[simgrid.git] / src / surf / network_wifi.hpp
index ef07cb4..2616579 100644 (file)
@@ -19,6 +19,8 @@ namespace simgrid {
 namespace kernel {
 namespace resource {
 
+class XBT_PRIVATE NetworkWifiAction;
+
 class NetworkWifiLink : public LinkImpl {
   /** @brief Hold every rates association between host and links (host name, rates id) */
   std::map<xbt::string, int> host_rates_;
@@ -55,6 +57,21 @@ public:
   bool toggle_decay_model();
 };
 
+class NetworkWifiAction : public NetworkCm02Action {
+  NetworkWifiLink* src_wifi_link_;
+  NetworkWifiLink* dst_wifi_link_;
+
+public:
+  NetworkWifiAction(Model* model, s4u::Host& src, s4u::Host& dst, double cost, bool failed,
+                    NetworkWifiLink* src_wifi_link, NetworkWifiLink* dst_wifi_link)
+      : NetworkCm02Action(model, src, dst, cost, failed)
+      , src_wifi_link_(src_wifi_link)
+      , dst_wifi_link_(dst_wifi_link){};
+
+  NetworkWifiLink* get_src_link() { return src_wifi_link_; }
+  NetworkWifiLink* get_dst_link() { return dst_wifi_link_; }
+};
+
 } // namespace resource
 } // namespace kernel
 } // namespace simgrid