- 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);
+ int id;
+ // store related links, to ease computation of the penalties
+ std::vector<ActiveComm*> ActiveCommsUp;
+ // store the number of comms received from each node
+ std::map<IBNode*, int> ActiveCommsDown;
+ // number of comms the node is receiving
+ int nbActiveCommsDown = 0;
+ explicit IBNode(int id) : id(id){};
+ virtual ~IBNode() = default;