- Link* createLink(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) { DIE_IMPOSSIBLE; }
- void addTraces() { DIE_IMPOSSIBLE; }
- xbt_dynar_t getRoute(RoutingEdge *src, RoutingEdge *dst) { DIE_IMPOSSIBLE; }
-};
+ /**********
+ * Action *
+ **********/
+ class NetworkConstantAction : public NetworkAction {
+ public:
+ NetworkConstantAction(NetworkConstantModel *model_, double size, double latency)
+ : NetworkAction(model_, size, false)
+ , m_latInit(latency)
+ {
+ m_latency = latency;
+ if (m_latency <= 0.0) {
+ p_stateSet = getModel()->getDoneActionSet();
+ p_stateSet->push_back(*this);
+ }
+ p_variable = NULL;
+ };
+ int unref() override;
+ void cancel() override;
+ double m_latInit;
+ };