+ xbt_assert0(action->resource_type ==
+ ((surf_resource_t) surf_cpu_resource),
+ "Resource type mismatch");
+ surf_cpu_resource->extension_public->suspend(action);
+}
+
+static void action_resume(surf_action_t action)
+{
+ xbt_assert0(action->resource_type ==
+ ((surf_resource_t) surf_cpu_resource),
+ "Resource type mismatch");
+ surf_cpu_resource->extension_public->resume(action);
+}
+
+static int action_is_suspended(surf_action_t action)
+{
+ xbt_assert0(action->resource_type ==
+ ((surf_resource_t) surf_cpu_resource),
+ "Resource type mismatch");
+ return surf_cpu_resource->extension_public->is_suspended(action);
+}
+
+static surf_action_t communicate(void *workstation_src,
+ void *workstation_dst, double size)
+{
+ return surf_network_resource->extension_public->
+ communicate(((workstation_t) workstation_src)->network_card,
+ ((workstation_t) workstation_dst)->network_card, size);