-class NetworkIBModel : public NetworkModel {
-private:
-public:
- NetworkIBModel();
- NetworkIBModel(const char *name);
- ~NetworkModel();
- virtual ActionPtr communicate(RoutingEdgePtr src, RoutingEdgePtr dst,
- double size, double rate);
- virtual NetworkLinkPtr createNetworkLink(const char *name,
- double bw_initial,
- tmgr_trace_t bw_trace,
- double lat_initial,
- tmgr_trace_t lat_trace,
- e_surf_resource_state_t state_initial,
- tmgr_trace_t state_trace,
- e_surf_link_sharing_policy_t policy,
- xbt_dict_t properties);
+#include "src/surf/network_smpi.hpp"
+#include "xbt/base.h"
+
+#include <map>
+#include <vector>
+
+namespace simgrid {
+namespace kernel {
+namespace resource {
+
+class XBT_PRIVATE IBNode;
+
+struct XBT_PRIVATE ActiveComm {
+ IBNode* destination = nullptr;
+ NetworkAction* action = nullptr;
+ double init_rate = -1;