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,
30 VALUE workstation_list, VALUE comp_amount,
31 VALUE comm_amount, VALUE rate);
34 static void rb_SD_task_unschedule(VALUE Class, VALUE task);
36 // task dependency Add ( name & data set to NULL)
37 static void rb_SD_task_add_dependency(VALUE Class, VALUE task_src,
40 // task execution time
41 static VALUE rb_SD_task_execution_time(VALUE Class, VALUE task,
43 VALUE workstation_list,
45 VALUE comm_amount, VALUE rate);
48 static VALUE rb_SD_task_start_time(VALUE Class, VALUE task);
51 static VALUE rb_SD_task_finish_time(VALUE Class, VALUE task);
54 static VALUE rb_SD_simulate(VALUE Class, VALUE how_long);