+void DiskS19::apply_event(kernel::profile::Event* triggered, double value)
+{
+ /* Find out which of my iterators was triggered, and react accordingly */
+ if (triggered == read_bw_.event) {
+ set_read_bandwidth(value);
+ tmgr_trace_event_unref(&read_bw_.event);
+
+ } else if (triggered == write_bw_.event) {
+ set_write_bandwidth(value);
+ tmgr_trace_event_unref(&write_bw_.event);
+
+ } else if (triggered == state_event_) {
+ if (value > 0)
+ turn_on();
+ else
+ turn_off();
+ tmgr_trace_event_unref(&state_event_);
+ } else {
+ xbt_die("Unknown event!\n");
+ }
+
+ XBT_DEBUG("There was a resource state event, need to update actions related to the constraint (%p)",
+ get_constraint());
+}
+
+/**********
+ * Action *
+ **********/
+
+DiskS19Action::DiskS19Action(Model* model, double cost, bool failed)
+ : DiskAction(model, cost, failed, model->get_maxmin_system()->variable_new(this, 1.0, -1.0, 3))