Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
more respect to others privacy
authorcoldpeace <coldpeace@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 24 Mar 2010 16:59:50 +0000 (16:59 +0000)
committercoldpeace <coldpeace@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 24 Mar 2010 16:59:50 +0000 (16:59 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7358 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/bindings/ruby/rb_msg_task.c
src/bindings/ruby/simgrid_ruby.c
src/bindings/ruby_bindings.h

index acf5598..855270f 100644 (file)
@@ -23,26 +23,6 @@ VALUE rb_task_new(VALUE class, VALUE name,VALUE comp_size,VALUE comm_size) {
 
 }
 
-// set Data : For the Moment , we will consider Data as asimple String ( char * )
-void rb_task_set_data(VALUE class,VALUE task,VALUE data)
-{
- const char *str_data = RSTRING(data)->ptr;
- m_task_t tk;
- Data_Get_Struct(task, s_m_task_t, tk);
- tk->data = (void*)str_data;
-}
-
-// get Data
-VALUE rb_task_get_data(VALUE class,VALUE task)
-{
-  m_task_t tk;
-  Data_Get_Struct(task, s_m_task_t, tk);
-  return rb_str_new2(tk->data);
-  
-}
-
-
 //Get Computation Size
 VALUE rb_task_comp(VALUE class,VALUE task) {
   double size;
@@ -78,6 +58,7 @@ void rb_task_send(VALUE class,VALUE task,VALUE mailbox) {
   // Wrap Ruby Value to m_task_t struct
   m_task_t tk;
   Data_Get_Struct(task, s_m_task_t, tk);
+  MSG_task_set_data(tk,(void*)task);
   DEBUG1("Sending task %p",tk);
   rv = MSG_task_send(tk,RSTRING(mailbox)->ptr);
   if(rv != MSG_OK)
@@ -105,7 +86,7 @@ VALUE rb_task_receive(VALUE class, VALUE mailbox) {
   MSG_task_receive(ptask,RSTRING(mailbox)->ptr);
   task = *ptask;
   free(ptask);
-  return Data_Wrap_Struct(class, 0, rb_task_free, task);
+  return (VALUE)MSG_task_get_data(task);
 }
 
 // It Return a Native Process ( m_process_t )
index 6859a41..9e09a18 100644 (file)
@@ -169,8 +169,6 @@ void Init_simgrid_ruby() {
 
   //Task Methods 
   rb_define_module_function(rb_task,"new",(rb_meth)rb_task_new,3);
-  rb_define_module_function(rb_task,"setData",(rb_meth)rb_task_set_data,2);
-  rb_define_module_function(rb_task,"data",(rb_meth)rb_task_get_data,1);
   rb_define_module_function(rb_task,"compSize",(rb_meth)rb_task_comp,1);
   rb_define_module_function(rb_task,"name",(rb_meth)rb_task_name,1);
   rb_define_module_function(rb_task,"execute",(rb_meth)rb_task_execute,1);
index 9444543..1dd82cf 100644 (file)
@@ -106,8 +106,6 @@ VALUE rb_host_get_all_hosts(VALUE Class);
 void rb_task_free(m_task_t tk);
 // New Method  >>> Data NULL
 VALUE rb_task_new(VALUE Class, VALUE name,VALUE comp_size,VALUE comm_size);
-void  rb_task_set_data(VALUE Class,VALUE task,VALUE data); // Data as a String
-VALUE rb_task_get_data(VALUE Class,VALUE task);
 VALUE rb_task_comp(VALUE Class,VALUE task); // Get Computation Size
 VALUE rb_task_name(VALUE Class,VALUE task);
 VALUE rb_task_execute(VALUE Class,VALUE task);