- /* check if the host is active */
- if ( surf_workstation_resource->extension_public->get_state(sender->simdata->host)!=SURF_CPU_ON) {
- THROW1(network_error,0,"Host %s failed, you cannot call this function",sender->name);
- }
- if ( surf_workstation_resource->extension_public->get_state(receiver->simdata->host)!=SURF_CPU_ON) {
- THROW1(network_error,0,"Host %s failed, you cannot call this function",receiver->name);
- }
-
- /* alloc structures */
- smx_action_t act = xbt_new0(s_smx_action_t,1);
- act->simdata = xbt_new0(s_smx_simdata_action_t,1);
- smx_simdata_action_t simdata = act->simdata;
- act->cond_list = xbt_fifo_new();
-
- /* initialize them */
- act->name = xbt_strdup(name);
- simdata->source = sender;
-
-
- simdata->surf_action = surf_workstation_resource->extension_public->
- communicate(sender->simdata->host,
- receiver->simdata->host, size, rate);
- surf_workstation_resource->common_public->action_set_data(simdata->surf_action,act);
-
- return act;
+ smx_action_t act;
+ smx_simdata_action_t simdata;
+
+ /* check if the host is active */
+ if (surf_workstation_model->
+ extension_public->get_state(sender->simdata->host) != SURF_CPU_ON) {
+ THROW1(network_error, 0, "Host %s failed, you cannot call this function",
+ sender->name);
+ }
+ if (surf_workstation_model->
+ extension_public->get_state(receiver->simdata->host) != SURF_CPU_ON) {
+ THROW1(network_error, 0, "Host %s failed, you cannot call this function",
+ receiver->name);
+ }
+
+ /* alloc structures */
+ act = xbt_new0(s_smx_action_t, 1);
+ act->simdata = xbt_new0(s_smx_simdata_action_t, 1);
+ simdata = act->simdata;
+ act->cond_list = xbt_fifo_new();
+
+ /* initialize them */
+ act->name = xbt_strdup(name);
+ simdata->source = sender;
+
+
+ simdata->surf_action =
+ surf_workstation_model->extension_public->communicate(sender->simdata->
+ host,
+ receiver->simdata->
+ host, size, rate);
+ surf_workstation_model->common_public->action_set_data(simdata->surf_action,
+ act);
+
+ DEBUG1("Create communicate action %p", act);
+ return act;