1 /* Copyright (c) 2010. The SimGrid Team.
2 * All rights reserved. */
4 /* This program is free software; you can redistribute it and/or modify it
5 * under the terms of the license (GNU LGPL) which comes with this package. */
11 #include <simdag/simdag.h>
12 #include "xbt/sysdep.h"
16 static void SD_task_free(SD_task_t tk); // needed by ruby while wrapping
19 static void rb_SD_task_destory(VALUE Class,VALUE task);
22 static VALUE rb_SD_task_new(VALUE Class, VALUE name,VALUE amount); //data set to NULL
25 static VALUE rb_SD_task_name(VALUE Class,VALUE task);
28 static void rb_SD_task_schedule(VALUE Class,VALUE task,VALUE workstation_nb,VALUE workstation_list,VALUE comp_amount,VALUE comm_amount,VALUE rate);
31 static void rb_SD_task_unschedule(VALUE Class,VALUE task);
33 // task dependency Add ( name & data set to NULL)
34 static void rb_SD_task_add_dependency(VALUE Class,VALUE task_src,VALUE task_dst);
36 // task execution time
37 static VALUE rb_SD_task_execution_time(VALUE Class,VALUE task,VALUE workstation_nb,VALUE workstation_list,VALUE comp_amount,VALUE comm_amount,VALUE rate);
40 static VALUE rb_SD_task_start_time(VALUE Class,VALUE task);
43 static VALUE rb_SD_task_finish_time(VALUE Class,VALUE task);
46 static VALUE rb_SD_simulate(VALUE Class,VALUE how_long);