This is an old idea, that I want to implement since at least 3 years.
It removes an ambiguity with surf_action_t, and makes it explicit that
these things are a way to synchronize the processes with their
environment.
XBT_PUBLIC(msg_comm_t) MSG_task_isend_bounded(msg_task_t task, const char *alias, double maxrate);
XBT_PUBLIC(msg_comm_t) MSG_task_isend_with_matching(msg_task_t task,
const char *alias,
- int (*match_fun)(void*,void*, smx_action_t),
+ int (*match_fun)(void*,void*, smx_synchro_t),
void *match_data);
XBT_PUBLIC(void) MSG_task_dsend(msg_task_t task, const char *alias, void_f_pvoid_t cleanup);
typedef xbt_dictelm_t smx_storage_t;
typedef struct s_smx_storage_priv *smx_storage_priv_t;
-/********************************** Action *************************************/
-typedef struct s_smx_action *smx_action_t; /* FIXME: replace by specialized action handlers */
+/********************************** Synchro *************************************/
+typedef struct s_smx_synchro *smx_synchro_t; /* FIXME: replace by specialized synchro handlers */
/* ****************************** Process *********************************** */
/** @brief Process datatype
*/
typedef struct s_smx_rvpoint *smx_rdv_t;
-XBT_PUBLIC(void*) SIMIX_comm_get_src_data(smx_action_t action);
-XBT_PUBLIC(void*) SIMIX_comm_get_dst_data(smx_action_t action);
+XBT_PUBLIC(void*) SIMIX_comm_get_src_data(smx_synchro_t synchro);
+XBT_PUBLIC(void*) SIMIX_comm_get_dst_data(smx_synchro_t synchro);
/******************************** Context *************************************/
typedef struct s_smx_context *smx_context_t;
XBT_PUBLIC(void) SIMIX_process_on_exit(smx_process_t process, int_f_pvoid_pvoid_t fun, void *data);
/****************************** Communication *********************************/
-XBT_PUBLIC(void) SIMIX_comm_set_copy_data_callback(void (*callback) (smx_action_t, void*, size_t));
-XBT_PUBLIC(void) SIMIX_comm_copy_pointer_callback(smx_action_t comm, void* buff, size_t buff_size);
-XBT_PUBLIC(void) SIMIX_comm_copy_buffer_callback(smx_action_t comm, void* buff, size_t buff_size);
+XBT_PUBLIC(void) SIMIX_comm_set_copy_data_callback(void (*callback) (smx_synchro_t, void*, size_t));
+XBT_PUBLIC(void) SIMIX_comm_copy_pointer_callback(smx_synchro_t comm, void* buff, size_t buff_size);
+XBT_PUBLIC(void) SIMIX_comm_copy_buffer_callback(smx_synchro_t comm, void* buff, size_t buff_size);
-XBT_PUBLIC(smx_action_t) SIMIX_comm_get_send_match(smx_rdv_t rdv, int (*match_fun)(void*, void*), void* data);
+XBT_PUBLIC(smx_synchro_t) SIMIX_comm_get_send_match(smx_rdv_t rdv, int (*match_fun)(void*, void*), void* data);
XBT_PUBLIC(int) SIMIX_comm_has_send_match(smx_rdv_t rdv, int (*match_fun)(void*, void*), void* data);
XBT_PUBLIC(int) SIMIX_comm_has_recv_match(smx_rdv_t rdv, int (*match_fun)(void*, void*), void* data);
-XBT_PUBLIC(void) SIMIX_comm_finish(smx_action_t action);
+XBT_PUBLIC(void) SIMIX_comm_finish(smx_synchro_t synchro);
/******************************************************************************/
/* SIMIX simcalls */
XBT_PUBLIC(void) simcall_host_set_power_peak_at(smx_host_t host, int pstate_index);
XBT_PUBLIC(double) simcall_host_get_consumed_energy(smx_host_t host);
-XBT_PUBLIC(smx_action_t) simcall_host_execute(const char *name, smx_host_t host,
+XBT_PUBLIC(smx_synchro_t) simcall_host_execute(const char *name, smx_host_t host,
double computation_amount,
double priority, double bound, unsigned long affinity_mask);
-XBT_PUBLIC(smx_action_t) simcall_host_parallel_execute(const char *name,
+XBT_PUBLIC(smx_synchro_t) simcall_host_parallel_execute(const char *name,
int host_nb,
smx_host_t *host_list,
double *computation_amount,
double *communication_amount,
double amount,
double rate);
-XBT_PUBLIC(void) simcall_host_execution_destroy(smx_action_t execution);
-XBT_PUBLIC(void) simcall_host_execution_cancel(smx_action_t execution);
-XBT_PUBLIC(double) simcall_host_execution_get_remains(smx_action_t execution);
-XBT_PUBLIC(e_smx_state_t) simcall_host_execution_get_state(smx_action_t execution);
-XBT_PUBLIC(void) simcall_host_execution_set_priority(smx_action_t execution, double priority);
-XBT_PUBLIC(void) simcall_host_execution_set_bound(smx_action_t execution, double bound);
-XBT_PUBLIC(void) simcall_host_execution_set_affinity(smx_action_t execution, smx_host_t host, unsigned long mask);
-XBT_PUBLIC(e_smx_state_t) simcall_host_execution_wait(smx_action_t execution);
+XBT_PUBLIC(void) simcall_host_execution_destroy(smx_synchro_t execution);
+XBT_PUBLIC(void) simcall_host_execution_cancel(smx_synchro_t execution);
+XBT_PUBLIC(double) simcall_host_execution_get_remains(smx_synchro_t execution);
+XBT_PUBLIC(e_smx_state_t) simcall_host_execution_get_state(smx_synchro_t execution);
+XBT_PUBLIC(void) simcall_host_execution_set_priority(smx_synchro_t execution, double priority);
+XBT_PUBLIC(void) simcall_host_execution_set_bound(smx_synchro_t execution, double bound);
+XBT_PUBLIC(void) simcall_host_execution_set_affinity(smx_synchro_t execution, smx_host_t host, unsigned long mask);
+XBT_PUBLIC(e_smx_state_t) simcall_host_execution_wait(smx_synchro_t execution);
XBT_PUBLIC(xbt_dict_t) simcall_host_get_mounted_storage_list(smx_host_t host);
XBT_PUBLIC(xbt_dynar_t) simcall_host_get_attached_storage_list(smx_host_t host);
XBT_PUBLIC(void) simcall_host_get_params(smx_host_t vm, ws_params_t param);
XBT_PUBLIC(void) simcall_rdv_destroy(smx_rdv_t rvp);
XBT_PUBLIC(smx_rdv_t) simcall_rdv_get_by_name(const char *name);
XBT_PUBLIC(int) simcall_rdv_comm_count_by_host(smx_rdv_t rdv, smx_host_t host);
-XBT_PUBLIC(smx_action_t) simcall_rdv_get_head(smx_rdv_t rdv);
+XBT_PUBLIC(smx_synchro_t) simcall_rdv_get_head(smx_rdv_t rdv);
XBT_PUBLIC(smx_process_t) simcall_rdv_get_receiver(smx_rdv_t rdv);
XBT_PUBLIC(void) simcall_rdv_set_receiver(smx_rdv_t rdv , smx_process_t process);
XBT_PUBLIC(void) simcall_comm_send(smx_process_t src, smx_rdv_t rdv, double task_size,
double rate, void *src_buff,
size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double timeout);
-XBT_PUBLIC(smx_action_t) simcall_comm_isend(smx_process_t src, smx_rdv_t rdv,
+XBT_PUBLIC(smx_synchro_t) simcall_comm_isend(smx_process_t src, smx_rdv_t rdv,
double task_size,
double rate, void *src_buff,
size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
void (*clean_fun)(void *),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, int detached);
XBT_PUBLIC(void) simcall_comm_recv(smx_rdv_t rdv, void *dst_buff,
size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double timeout, double rate);
-XBT_PUBLIC(smx_action_t) simcall_comm_irecv(smx_rdv_t rdv, void *dst_buff,
+XBT_PUBLIC(smx_synchro_t) simcall_comm_irecv(smx_rdv_t rdv, void *dst_buff,
size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double rate);
-XBT_PUBLIC(smx_action_t) simcall_comm_iprobe(smx_rdv_t rdv, int type, int src, int tag,
- int (*match_fun)(void *, void *, smx_action_t), void *data);
-XBT_PUBLIC(void) simcall_comm_cancel(smx_action_t comm);
+XBT_PUBLIC(smx_synchro_t) simcall_comm_iprobe(smx_rdv_t rdv, int type, int src, int tag,
+ int (*match_fun)(void *, void *, smx_synchro_t), void *data);
+XBT_PUBLIC(void) simcall_comm_cancel(smx_synchro_t comm);
/* FIXME: waitany is going to be a vararg function, and should take a timeout */
XBT_PUBLIC(unsigned int) simcall_comm_waitany(xbt_dynar_t comms);
-XBT_PUBLIC(void) simcall_comm_wait(smx_action_t comm, double timeout);
-XBT_PUBLIC(int) simcall_comm_test(smx_action_t comm);
+XBT_PUBLIC(void) simcall_comm_wait(smx_synchro_t comm, double timeout);
+XBT_PUBLIC(int) simcall_comm_test(smx_synchro_t comm);
XBT_PUBLIC(int) simcall_comm_testany(xbt_dynar_t comms);
/* Getters and setters */
-XBT_PUBLIC(double) simcall_comm_get_remains(smx_action_t comm);
-XBT_PUBLIC(e_smx_state_t) simcall_comm_get_state(smx_action_t comm);
-XBT_PUBLIC(void *) simcall_comm_get_src_data(smx_action_t comm);
-XBT_PUBLIC(void *) simcall_comm_get_dst_data(smx_action_t comm);
-XBT_PUBLIC(smx_process_t) simcall_comm_get_src_proc(smx_action_t comm);
-XBT_PUBLIC(smx_process_t) simcall_comm_get_dst_proc(smx_action_t comm);
+XBT_PUBLIC(double) simcall_comm_get_remains(smx_synchro_t comm);
+XBT_PUBLIC(e_smx_state_t) simcall_comm_get_state(smx_synchro_t comm);
+XBT_PUBLIC(void *) simcall_comm_get_src_data(smx_synchro_t comm);
+XBT_PUBLIC(void *) simcall_comm_get_dst_data(smx_synchro_t comm);
+XBT_PUBLIC(smx_process_t) simcall_comm_get_src_proc(smx_synchro_t comm);
+XBT_PUBLIC(smx_process_t) simcall_comm_get_dst_proc(smx_synchro_t comm);
#ifdef HAVE_LATENCY_BOUND_TRACKING
-XBT_PUBLIC(int) simcall_comm_is_latency_bounded(smx_action_t comm);
+XBT_PUBLIC(int) simcall_comm_is_latency_bounded(smx_synchro_t comm);
#endif
#ifdef HAVE_TRACING
/************************** Tracing handling **********************************/
-XBT_PUBLIC(void) simcall_set_category(smx_action_t action, const char *category);
+XBT_PUBLIC(void) simcall_set_category(smx_synchro_t synchro, const char *category);
#endif
/************************** Synchro simcalls **********************************/
XBT_PUBLIC(void) ETag_surfxml_model___prop(void);
/* XML application data. */
-typedef int AT_surfxml_backbone_id;
-#define AU_surfxml_backbone_id NULL
+typedef int AT_surfxml_bypassASroute_dst;
+#define AU_surfxml_bypassASroute_dst NULL
+typedef int AT_surfxml_link_latency___file;
+#define AU_surfxml_link_latency___file NULL
+typedef int AT_surfxml_prop_value;
+#define AU_surfxml_prop_value NULL
+typedef int AT_surfxml_cluster_power;
+#define AU_surfxml_cluster_power NULL
+typedef int AT_surfxml_random_min;
+#define AU_surfxml_random_min NULL
+typedef int AT_surfxml_host_availability___file;
+#define AU_surfxml_host_availability___file NULL
+typedef enum { AU_surfxml_link_sharing___policy, A_surfxml_link_sharing___policy_SHARED,A_surfxml_link_sharing___policy_FATPIPE,A_surfxml_link_sharing___policy_FULLDUPLEX } AT_surfxml_link_sharing___policy;
+typedef int AT_surfxml_storage___type_model;
+#define AU_surfxml_storage___type_model NULL
+typedef int AT_surfxml_argument_value;
+#define AU_surfxml_argument_value NULL
+typedef int AT_surfxml_AS_id;
+#define AU_surfxml_AS_id NULL
+typedef int AT_surfxml_cluster_loopback___bw;
+#define AU_surfxml_cluster_loopback___bw NULL
+typedef int AT_surfxml_mount_name;
+#define AU_surfxml_mount_name NULL
typedef int AT_surfxml_cluster_router___id;
#define AU_surfxml_cluster_router___id NULL
-typedef int AT_surfxml_trace_periodicity;
-#define AU_surfxml_trace_periodicity NULL
-typedef int AT_surfxml_cluster_core;
-#define AU_surfxml_cluster_core NULL
typedef int AT_surfxml_cluster_id;
#define AU_surfxml_cluster_id NULL
-typedef int AT_surfxml_storage___type_model;
-#define AU_surfxml_storage___type_model NULL
-typedef int AT_surfxml_link_latency;
-#define AU_surfxml_link_latency NULL
-typedef int AT_surfxml_cluster_prefix;
-#define AU_surfxml_cluster_prefix NULL
-typedef int AT_surfxml_host_availability;
-#define AU_surfxml_host_availability NULL
-typedef enum { AU_surfxml_cluster_topology, A_surfxml_cluster_topology_FLAT,A_surfxml_cluster_topology_TORUS,A_surfxml_cluster_topology_FAT___TREE } AT_surfxml_cluster_topology;
-typedef int AT_surfxml_cluster_bb___lat;
-#define AU_surfxml_cluster_bb___lat NULL
-typedef int AT_surfxml_cluster_loopback___lat;
-#define AU_surfxml_cluster_loopback___lat NULL
-typedef enum { AU_surfxml_route_symmetrical, A_surfxml_route_symmetrical_YES,A_surfxml_route_symmetrical_NO } AT_surfxml_route_symmetrical;
-typedef int AT_surfxml_trace_id;
-#define AU_surfxml_trace_id NULL
-typedef int AT_surfxml_cluster_radical;
-#define AU_surfxml_cluster_radical NULL
-typedef int AT_surfxml_host_core;
-#define AU_surfxml_host_core NULL
-typedef int AT_surfxml_random_radical;
-#define AU_surfxml_random_radical NULL
-typedef enum { AU_surfxml_cluster_sharing___policy, A_surfxml_cluster_sharing___policy_SHARED,A_surfxml_cluster_sharing___policy_FULLDUPLEX,A_surfxml_cluster_sharing___policy_FATPIPE } AT_surfxml_cluster_sharing___policy;
-typedef int AT_surfxml_trace_file;
-#define AU_surfxml_trace_file NULL
-typedef int AT_surfxml_host_state___file;
-#define AU_surfxml_host_state___file NULL
-typedef int AT_surfxml_router_coordinates;
-#define AU_surfxml_router_coordinates NULL
-typedef int AT_surfxml_ASroute_dst;
-#define AU_surfxml_ASroute_dst NULL
-typedef enum { AU_surfxml_host_state, A_surfxml_host_state_ON,A_surfxml_host_state_OFF } AT_surfxml_host_state;
-typedef int AT_surfxml_cluster_lat;
-#define AU_surfxml_cluster_lat NULL
-typedef int AT_surfxml_storage___type_content;
-#define AU_surfxml_storage___type_content NULL
-typedef int AT_surfxml_ASroute_gw___dst;
-#define AU_surfxml_ASroute_gw___dst NULL
-typedef int AT_surfxml_platform_version;
-#define AU_surfxml_platform_version NULL
-typedef int AT_surfxml_host___link_down;
-#define AU_surfxml_host___link_down NULL
-typedef int AT_surfxml_random_seed;
-#define AU_surfxml_random_seed NULL
-typedef int AT_surfxml_cluster_limiter___link;
-#define AU_surfxml_cluster_limiter___link NULL
-typedef int AT_surfxml_process_function;
-#define AU_surfxml_process_function NULL
-typedef int AT_surfxml_host___link_up;
-#define AU_surfxml_host___link_up NULL
-typedef enum { AU_surfxml_link_state, A_surfxml_link_state_ON,A_surfxml_link_state_OFF } AT_surfxml_link_state;
-typedef int AT_surfxml_config_id;
-#define AU_surfxml_config_id NULL
+typedef enum { AU_surfxml_cluster_bb___sharing___policy, A_surfxml_cluster_bb___sharing___policy_SHARED,A_surfxml_cluster_bb___sharing___policy_FATPIPE } AT_surfxml_cluster_bb___sharing___policy;
+typedef int AT_surfxml_peer_bw___out;
+#define AU_surfxml_peer_bw___out NULL
+typedef int AT_surfxml_cluster_core;
+#define AU_surfxml_cluster_core NULL
typedef int AT_surfxml_random_std___deviation;
#define AU_surfxml_random_std___deviation NULL
-typedef int AT_surfxml_cluster_topo___parameters;
-#define AU_surfxml_cluster_topo___parameters NULL
-typedef int AT_surfxml_process_kill___time;
-#define AU_surfxml_process_kill___time NULL
+typedef int AT_surfxml_bypassRoute_src;
+#define AU_surfxml_bypassRoute_src NULL
+typedef int AT_surfxml_backbone_bandwidth;
+#define AU_surfxml_backbone_bandwidth NULL
+typedef int AT_surfxml_cabinet_radical;
+#define AU_surfxml_cabinet_radical NULL
+typedef int AT_surfxml_storage_content;
+#define AU_surfxml_storage_content NULL
+typedef int AT_surfxml_link_id;
+#define AU_surfxml_link_id NULL
+typedef int AT_surfxml_host___link_id;
+#define AU_surfxml_host___link_id NULL
+typedef int AT_surfxml_include_file;
+#define AU_surfxml_include_file NULL
typedef int AT_surfxml_storage_content___type;
#define AU_surfxml_storage_content___type NULL
-typedef enum { AU_surfxml_trace___connect_kind, A_surfxml_trace___connect_kind_HOST___AVAIL,A_surfxml_trace___connect_kind_POWER,A_surfxml_trace___connect_kind_LINK___AVAIL,A_surfxml_trace___connect_kind_BANDWIDTH,A_surfxml_trace___connect_kind_LATENCY } AT_surfxml_trace___connect_kind;
-typedef int AT_surfxml_host_availability___file;
-#define AU_surfxml_host_availability___file NULL
-typedef int AT_surfxml_mount_storageId;
-#define AU_surfxml_mount_storageId NULL
-typedef int AT_surfxml_prop_id;
-#define AU_surfxml_prop_id NULL
-typedef int AT_surfxml_random_mean;
-#define AU_surfxml_random_mean NULL
+typedef int AT_surfxml_process_kill___time;
+#define AU_surfxml_process_kill___time NULL
+typedef int AT_surfxml_peer_state___file;
+#define AU_surfxml_peer_state___file NULL
+typedef enum { AU_surfxml_link___ctn_direction, A_surfxml_link___ctn_direction_UP,A_surfxml_link___ctn_direction_DOWN,A_surfxml_link___ctn_direction_NONE } AT_surfxml_link___ctn_direction;
+typedef int AT_surfxml_host___link_up;
+#define AU_surfxml_host___link_up NULL
+typedef int AT_surfxml_bypassASroute_gw___dst;
+#define AU_surfxml_bypassASroute_gw___dst NULL
+typedef enum { AU_surfxml_AS_routing, A_surfxml_AS_routing_Full,A_surfxml_AS_routing_Floyd,A_surfxml_AS_routing_Dijkstra,A_surfxml_AS_routing_DijkstraCache,A_surfxml_AS_routing_None,A_surfxml_AS_routing_Vivaldi,A_surfxml_AS_routing_Cluster,A_surfxml_AS_routing_Cluster___torus,A_surfxml_AS_routing_Cluster___fat___tree } AT_surfxml_AS_routing;
+typedef int AT_surfxml_bypassRoute_dst;
+#define AU_surfxml_bypassRoute_dst NULL
+typedef enum { AU_surfxml_cluster_topology, A_surfxml_cluster_topology_FLAT,A_surfxml_cluster_topology_TORUS,A_surfxml_cluster_topology_FAT___TREE } AT_surfxml_cluster_topology;
+typedef int AT_surfxml_link_latency;
+#define AU_surfxml_link_latency NULL
+typedef int AT_surfxml_route_src;
+#define AU_surfxml_route_src NULL
+typedef int AT_surfxml_bypassASroute_src;
+#define AU_surfxml_bypassASroute_src NULL
typedef int AT_surfxml_peer_bw___in;
#define AU_surfxml_peer_bw___in NULL
-typedef int AT_surfxml_trace___connect_element;
-#define AU_surfxml_trace___connect_element NULL
-typedef int AT_surfxml_peer_bw___out;
-#define AU_surfxml_peer_bw___out NULL
-typedef int AT_surfxml_random_min;
-#define AU_surfxml_random_min NULL
+typedef enum { AU_surfxml_trace___connect_kind, A_surfxml_trace___connect_kind_HOST___AVAIL,A_surfxml_trace___connect_kind_POWER,A_surfxml_trace___connect_kind_LINK___AVAIL,A_surfxml_trace___connect_kind_BANDWIDTH,A_surfxml_trace___connect_kind_LATENCY } AT_surfxml_trace___connect_kind;
+typedef int AT_surfxml_cluster_prefix;
+#define AU_surfxml_cluster_prefix NULL
+typedef enum { AU_surfxml_host_state, A_surfxml_host_state_ON,A_surfxml_host_state_OFF } AT_surfxml_host_state;
+typedef int AT_surfxml_cabinet_power;
+#define AU_surfxml_cabinet_power NULL
typedef int AT_surfxml_model___prop_value;
#define AU_surfxml_model___prop_value NULL
-typedef int AT_surfxml_cluster_power;
-#define AU_surfxml_cluster_power NULL
-typedef int AT_surfxml_peer_power;
-#define AU_surfxml_peer_power NULL
-typedef int AT_surfxml_router_id;
-#define AU_surfxml_router_id NULL
+typedef int AT_surfxml_route_dst;
+#define AU_surfxml_route_dst NULL
+typedef int AT_surfxml_storage___type_size;
+#define AU_surfxml_storage___type_size NULL
+typedef int AT_surfxml_host_id;
+#define AU_surfxml_host_id NULL
+typedef int AT_surfxml_ASroute_gw___src;
+#define AU_surfxml_ASroute_gw___src NULL
+typedef int AT_surfxml_peer_coordinates;
+#define AU_surfxml_peer_coordinates NULL
+typedef int AT_surfxml_cabinet_bw;
+#define AU_surfxml_cabinet_bw NULL
+typedef int AT_surfxml_cluster_availability___file;
+#define AU_surfxml_cluster_availability___file NULL
+typedef int AT_surfxml_host_coordinates;
+#define AU_surfxml_host_coordinates NULL
+typedef int AT_surfxml_random_max;
+#define AU_surfxml_random_max NULL
+typedef int AT_surfxml_trace___connect_trace;
+#define AU_surfxml_trace___connect_trace NULL
typedef int AT_surfxml_storage_id;
#define AU_surfxml_storage_id NULL
+typedef enum { AU_surfxml_ASroute_symmetrical, A_surfxml_ASroute_symmetrical_YES,A_surfxml_ASroute_symmetrical_NO } AT_surfxml_ASroute_symmetrical;
+typedef int AT_surfxml_random_seed;
+#define AU_surfxml_random_seed NULL
typedef int AT_surfxml_process_start___time;
#define AU_surfxml_process_start___time NULL
-typedef enum { AU_surfxml_random_generator, A_surfxml_random_generator_DRAND48,A_surfxml_random_generator_RAND,A_surfxml_random_generator_RNGSTREAM,A_surfxml_random_generator_NONE } AT_surfxml_random_generator;
-typedef int AT_surfxml_include_file;
-#define AU_surfxml_include_file NULL
+typedef int AT_surfxml_cluster_state___file;
+#define AU_surfxml_cluster_state___file NULL
+typedef int AT_surfxml_host_power;
+#define AU_surfxml_host_power NULL
+typedef int AT_surfxml_random_radical;
+#define AU_surfxml_random_radical NULL
+typedef int AT_surfxml_storage___type_id;
+#define AU_surfxml_storage___type_id NULL
+typedef int AT_surfxml_random_id;
+#define AU_surfxml_random_id NULL
typedef int AT_surfxml_cabinet_suffix;
#define AU_surfxml_cabinet_suffix NULL
-typedef enum { AU_surfxml_ASroute_symmetrical, A_surfxml_ASroute_symmetrical_YES,A_surfxml_ASroute_symmetrical_NO } AT_surfxml_ASroute_symmetrical;
+typedef enum { AU_surfxml_route_symmetrical, A_surfxml_route_symmetrical_YES,A_surfxml_route_symmetrical_NO } AT_surfxml_route_symmetrical;
typedef int AT_surfxml_cabinet_lat;
#define AU_surfxml_cabinet_lat NULL
-typedef int AT_surfxml_link_latency___file;
-#define AU_surfxml_link_latency___file NULL
-typedef int AT_surfxml_bypassRoute_dst;
-#define AU_surfxml_bypassRoute_dst NULL
-typedef int AT_surfxml_process_host;
-#define AU_surfxml_process_host NULL
-typedef int AT_surfxml_cluster_loopback___bw;
-#define AU_surfxml_cluster_loopback___bw NULL
-typedef int AT_surfxml_backbone_latency;
-#define AU_surfxml_backbone_latency NULL
-typedef int AT_surfxml_prop_value;
-#define AU_surfxml_prop_value NULL
typedef int AT_surfxml_bypassASroute_gw___src;
#define AU_surfxml_bypassASroute_gw___src NULL
-typedef int AT_surfxml_peer_id;
-#define AU_surfxml_peer_id NULL
-typedef int AT_surfxml_link_bandwidth___file;
-#define AU_surfxml_link_bandwidth___file NULL
-typedef int AT_surfxml_gpu_name;
-#define AU_surfxml_gpu_name NULL
-typedef int AT_surfxml_bypassASroute_gw___dst;
-#define AU_surfxml_bypassASroute_gw___dst NULL
-typedef int AT_surfxml_route_src;
-#define AU_surfxml_route_src NULL
-typedef enum { AU_surfxml_cluster_bb___sharing___policy, A_surfxml_cluster_bb___sharing___policy_SHARED,A_surfxml_cluster_bb___sharing___policy_FATPIPE } AT_surfxml_cluster_bb___sharing___policy;
-typedef int AT_surfxml_AS_id;
-#define AU_surfxml_AS_id NULL
-typedef int AT_surfxml_argument_value;
-#define AU_surfxml_argument_value NULL
-typedef int AT_surfxml_bypassRoute_src;
-#define AU_surfxml_bypassRoute_src NULL
+typedef int AT_surfxml_storage___type_content___type;
+#define AU_surfxml_storage___type_content___type NULL
+typedef int AT_surfxml_link___ctn_id;
+#define AU_surfxml_link___ctn_id NULL
+typedef int AT_surfxml_host_state___file;
+#define AU_surfxml_host_state___file NULL
+typedef int AT_surfxml_link_bandwidth;
+#define AU_surfxml_link_bandwidth NULL
+typedef int AT_surfxml_cluster_loopback___lat;
+#define AU_surfxml_cluster_loopback___lat NULL
+typedef int AT_surfxml_process_function;
+#define AU_surfxml_process_function NULL
+typedef int AT_surfxml_backbone_latency;
+#define AU_surfxml_backbone_latency NULL
+typedef enum { AU_surfxml_process_on___failure, A_surfxml_process_on___failure_DIE,A_surfxml_process_on___failure_RESTART } AT_surfxml_process_on___failure;
+typedef int AT_surfxml_host_core;
+#define AU_surfxml_host_core NULL
+typedef enum { AU_surfxml_random_generator, A_surfxml_random_generator_DRAND48,A_surfxml_random_generator_RAND,A_surfxml_random_generator_RNGSTREAM,A_surfxml_random_generator_NONE } AT_surfxml_random_generator;
+typedef int AT_surfxml_random_mean;
+#define AU_surfxml_random_mean NULL
+typedef int AT_surfxml_ASroute_gw___dst;
+#define AU_surfxml_ASroute_gw___dst NULL
typedef int AT_surfxml_peer_availability___file;
#define AU_surfxml_peer_availability___file NULL
-typedef int AT_surfxml_peer_coordinates;
-#define AU_surfxml_peer_coordinates NULL
-typedef int AT_surfxml_model___prop_id;
-#define AU_surfxml_model___prop_id NULL
-typedef int AT_surfxml_storage_content;
-#define AU_surfxml_storage_content NULL
-typedef int AT_surfxml_cabinet_prefix;
-#define AU_surfxml_cabinet_prefix NULL
-typedef int AT_surfxml_mstorage_name;
-#define AU_surfxml_mstorage_name NULL
-typedef int AT_surfxml_storage___type_id;
-#define AU_surfxml_storage___type_id NULL
-typedef int AT_surfxml_cabinet_id;
-#define AU_surfxml_cabinet_id NULL
-typedef int AT_surfxml_cluster_state___file;
-#define AU_surfxml_cluster_state___file NULL
-typedef int AT_surfxml_host_power;
-#define AU_surfxml_host_power NULL
+typedef int AT_surfxml_link_bandwidth___file;
+#define AU_surfxml_link_bandwidth___file NULL
+typedef enum { AU_surfxml_cluster_sharing___policy, A_surfxml_cluster_sharing___policy_SHARED,A_surfxml_cluster_sharing___policy_FULLDUPLEX,A_surfxml_cluster_sharing___policy_FATPIPE } AT_surfxml_cluster_sharing___policy;
+typedef int AT_surfxml_process_host;
+#define AU_surfxml_process_host NULL
+typedef int AT_surfxml_trace_periodicity;
+#define AU_surfxml_trace_periodicity NULL
+typedef int AT_surfxml_peer_lat;
+#define AU_surfxml_peer_lat NULL
+typedef int AT_surfxml_peer_power;
+#define AU_surfxml_peer_power NULL
+typedef int AT_surfxml_storage_attach;
+#define AU_surfxml_storage_attach NULL
+typedef int AT_surfxml_router_coordinates;
+#define AU_surfxml_router_coordinates NULL
+typedef int AT_surfxml_cabinet_prefix;
+#define AU_surfxml_cabinet_prefix NULL
+typedef int AT_surfxml_cluster_bw;
+#define AU_surfxml_cluster_bw NULL
+typedef int AT_surfxml_storage___type_content;
+#define AU_surfxml_storage___type_content NULL
+typedef int AT_surfxml_mstorage_typeId;
+#define AU_surfxml_mstorage_typeId NULL
+typedef int AT_surfxml_model___prop_id;
+#define AU_surfxml_model___prop_id NULL
+typedef int AT_surfxml_backbone_id;
+#define AU_surfxml_backbone_id NULL
+typedef int AT_surfxml_config_id;
+#define AU_surfxml_config_id NULL
+typedef int AT_surfxml_cluster_lat;
+#define AU_surfxml_cluster_lat NULL
+typedef int AT_surfxml_platform_version;
+#define AU_surfxml_platform_version NULL
+typedef int AT_surfxml_trace___connect_element;
+#define AU_surfxml_trace___connect_element NULL
+typedef int AT_surfxml_mount_storageId;
+#define AU_surfxml_mount_storageId NULL
+typedef int AT_surfxml_cluster_bb___bw;
+#define AU_surfxml_cluster_bb___bw NULL
+typedef int AT_surfxml_ASroute_dst;
+#define AU_surfxml_ASroute_dst NULL
typedef int AT_surfxml_host_pstate;
#define AU_surfxml_host_pstate NULL
-typedef int AT_surfxml_mount_name;
-#define AU_surfxml_mount_name NULL
-typedef int AT_surfxml_host___link_id;
-#define AU_surfxml_host___link_id NULL
-typedef int AT_surfxml_random_id;
-#define AU_surfxml_random_id NULL
-typedef int AT_surfxml_cabinet_bw;
-#define AU_surfxml_cabinet_bw NULL
-typedef int AT_surfxml_trace___connect_trace;
-#define AU_surfxml_trace___connect_trace NULL
-typedef int AT_surfxml_storage___type_size;
-#define AU_surfxml_storage___type_size NULL
-typedef enum { AU_surfxml_process_on___failure, A_surfxml_process_on___failure_DIE,A_surfxml_process_on___failure_RESTART } AT_surfxml_process_on___failure;
-typedef int AT_surfxml_link_bandwidth;
-#define AU_surfxml_link_bandwidth NULL
+typedef int AT_surfxml_peer_id;
+#define AU_surfxml_peer_id NULL
typedef int AT_surfxml_ASroute_src;
#define AU_surfxml_ASroute_src NULL
-typedef int AT_surfxml_host_id;
-#define AU_surfxml_host_id NULL
-typedef int AT_surfxml_random_max;
-#define AU_surfxml_random_max NULL
-typedef int AT_surfxml_backbone_bandwidth;
-#define AU_surfxml_backbone_bandwidth NULL
+typedef int AT_surfxml_gpu_name;
+#define AU_surfxml_gpu_name NULL
+typedef int AT_surfxml_host_availability;
+#define AU_surfxml_host_availability NULL
+typedef int AT_surfxml_mstorage_name;
+#define AU_surfxml_mstorage_name NULL
+typedef int AT_surfxml_cabinet_id;
+#define AU_surfxml_cabinet_id NULL
typedef int AT_surfxml_storage_typeId;
#define AU_surfxml_storage_typeId NULL
-typedef enum { AU_surfxml_link___ctn_direction, A_surfxml_link___ctn_direction_UP,A_surfxml_link___ctn_direction_DOWN,A_surfxml_link___ctn_direction_NONE } AT_surfxml_link___ctn_direction;
-typedef int AT_surfxml_ASroute_gw___src;
-#define AU_surfxml_ASroute_gw___src NULL
-typedef int AT_surfxml_bypassASroute_src;
-#define AU_surfxml_bypassASroute_src NULL
-typedef int AT_surfxml_host_coordinates;
-#define AU_surfxml_host_coordinates NULL
-typedef int AT_surfxml_cluster_availability___file;
-#define AU_surfxml_cluster_availability___file NULL
-typedef enum { AU_surfxml_AS_routing, A_surfxml_AS_routing_Full,A_surfxml_AS_routing_Floyd,A_surfxml_AS_routing_Dijkstra,A_surfxml_AS_routing_DijkstraCache,A_surfxml_AS_routing_None,A_surfxml_AS_routing_Vivaldi,A_surfxml_AS_routing_Cluster,A_surfxml_AS_routing_Cluster___torus,A_surfxml_AS_routing_Cluster___fat___tree } AT_surfxml_AS_routing;
-typedef int AT_surfxml_storage___type_content___type;
-#define AU_surfxml_storage___type_content___type NULL
-typedef int AT_surfxml_link_id;
-#define AU_surfxml_link_id NULL
-typedef int AT_surfxml_cluster_bb___bw;
-#define AU_surfxml_cluster_bb___bw NULL
-typedef int AT_surfxml_bypassASroute_dst;
-#define AU_surfxml_bypassASroute_dst NULL
-typedef int AT_surfxml_peer_state___file;
-#define AU_surfxml_peer_state___file NULL
-typedef int AT_surfxml_cabinet_power;
-#define AU_surfxml_cabinet_power NULL
-typedef int AT_surfxml_storage_attach;
-#define AU_surfxml_storage_attach NULL
+typedef int AT_surfxml_cluster_bb___lat;
+#define AU_surfxml_cluster_bb___lat NULL
+typedef int AT_surfxml_trace_file;
+#define AU_surfxml_trace_file NULL
+typedef int AT_surfxml_cluster_limiter___link;
+#define AU_surfxml_cluster_limiter___link NULL
+typedef int AT_surfxml_cluster_radical;
+#define AU_surfxml_cluster_radical NULL
+typedef int AT_surfxml_router_id;
+#define AU_surfxml_router_id NULL
+typedef int AT_surfxml_trace_id;
+#define AU_surfxml_trace_id NULL
+typedef enum { AU_surfxml_link_state, A_surfxml_link_state_ON,A_surfxml_link_state_OFF } AT_surfxml_link_state;
+typedef int AT_surfxml_prop_id;
+#define AU_surfxml_prop_id NULL
+typedef int AT_surfxml_host___link_down;
+#define AU_surfxml_host___link_down NULL
typedef int AT_surfxml_link_state___file;
#define AU_surfxml_link_state___file NULL
-typedef int AT_surfxml_peer_lat;
-#define AU_surfxml_peer_lat NULL
-typedef enum { AU_surfxml_link_sharing___policy, A_surfxml_link_sharing___policy_SHARED,A_surfxml_link_sharing___policy_FATPIPE,A_surfxml_link_sharing___policy_FULLDUPLEX } AT_surfxml_link_sharing___policy;
-typedef int AT_surfxml_cluster_bw;
-#define AU_surfxml_cluster_bw NULL
-typedef int AT_surfxml_route_dst;
-#define AU_surfxml_route_dst NULL
+typedef int AT_surfxml_cluster_topo___parameters;
+#define AU_surfxml_cluster_topo___parameters NULL
typedef int AT_surfxml_cluster_suffix;
#define AU_surfxml_cluster_suffix NULL
-typedef int AT_surfxml_cabinet_radical;
-#define AU_surfxml_cabinet_radical NULL
-typedef int AT_surfxml_link___ctn_id;
-#define AU_surfxml_link___ctn_id NULL
-typedef int AT_surfxml_mstorage_typeId;
-#define AU_surfxml_mstorage_typeId NULL
/* FleXML-provided data. */
XBT_PUBLIC_DATA(int) surfxml_pcdata_ix;
XBT_PUBLIC_DATA(char *) surfxml_bufferstack;
#define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
-XBT_PUBLIC_DATA(AT_surfxml_backbone_id) AX_surfxml_backbone_id;
-#define A_surfxml_backbone_id (surfxml_bufferstack + AX_surfxml_backbone_id)
-XBT_PUBLIC_DATA(short int) surfxml_backbone_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_bypassASroute_dst) AX_surfxml_bypassASroute_dst;
+#define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
+XBT_PUBLIC_DATA(short int) surfxml_bypassASroute_dst_isset;
+XBT_PUBLIC_DATA(AT_surfxml_link_latency___file) AX_surfxml_link_latency___file;
+#define A_surfxml_link_latency___file (surfxml_bufferstack + AX_surfxml_link_latency___file)
+XBT_PUBLIC_DATA(short int) surfxml_link_latency___file_isset;
+XBT_PUBLIC_DATA(AT_surfxml_prop_value) AX_surfxml_prop_value;
+#define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
+XBT_PUBLIC_DATA(short int) surfxml_prop_value_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_power) AX_surfxml_cluster_power;
+#define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_power_isset;
+XBT_PUBLIC_DATA(AT_surfxml_random_min) AX_surfxml_random_min;
+#define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
+XBT_PUBLIC_DATA(short int) surfxml_random_min_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host_availability___file) AX_surfxml_host_availability___file;
+#define A_surfxml_host_availability___file (surfxml_bufferstack + AX_surfxml_host_availability___file)
+XBT_PUBLIC_DATA(short int) surfxml_host_availability___file_isset;
+XBT_PUBLIC_DATA(AT_surfxml_link_sharing___policy) AX_surfxml_link_sharing___policy;
+#define A_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy
+XBT_PUBLIC_DATA(short int) surfxml_link_sharing___policy_isset;
+XBT_PUBLIC_DATA(AT_surfxml_storage___type_model) AX_surfxml_storage___type_model;
+#define A_surfxml_storage___type_model (surfxml_bufferstack + AX_surfxml_storage___type_model)
+XBT_PUBLIC_DATA(short int) surfxml_storage___type_model_isset;
+XBT_PUBLIC_DATA(AT_surfxml_argument_value) AX_surfxml_argument_value;
+#define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
+XBT_PUBLIC_DATA(short int) surfxml_argument_value_isset;
+XBT_PUBLIC_DATA(AT_surfxml_AS_id) AX_surfxml_AS_id;
+#define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
+XBT_PUBLIC_DATA(short int) surfxml_AS_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_loopback___bw) AX_surfxml_cluster_loopback___bw;
+#define A_surfxml_cluster_loopback___bw (surfxml_bufferstack + AX_surfxml_cluster_loopback___bw)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_loopback___bw_isset;
+XBT_PUBLIC_DATA(AT_surfxml_mount_name) AX_surfxml_mount_name;
+#define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
+XBT_PUBLIC_DATA(short int) surfxml_mount_name_isset;
XBT_PUBLIC_DATA(AT_surfxml_cluster_router___id) AX_surfxml_cluster_router___id;
#define A_surfxml_cluster_router___id (surfxml_bufferstack + AX_surfxml_cluster_router___id)
XBT_PUBLIC_DATA(short int) surfxml_cluster_router___id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_trace_periodicity) AX_surfxml_trace_periodicity;
-#define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
-XBT_PUBLIC_DATA(short int) surfxml_trace_periodicity_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_core) AX_surfxml_cluster_core;
-#define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_core_isset;
XBT_PUBLIC_DATA(AT_surfxml_cluster_id) AX_surfxml_cluster_id;
#define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
XBT_PUBLIC_DATA(short int) surfxml_cluster_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_storage___type_model) AX_surfxml_storage___type_model;
-#define A_surfxml_storage___type_model (surfxml_bufferstack + AX_surfxml_storage___type_model)
-XBT_PUBLIC_DATA(short int) surfxml_storage___type_model_isset;
-XBT_PUBLIC_DATA(AT_surfxml_link_latency) AX_surfxml_link_latency;
-#define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
-XBT_PUBLIC_DATA(short int) surfxml_link_latency_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_prefix) AX_surfxml_cluster_prefix;
-#define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_prefix_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host_availability) AX_surfxml_host_availability;
-#define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
-XBT_PUBLIC_DATA(short int) surfxml_host_availability_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_topology) AX_surfxml_cluster_topology;
-#define A_surfxml_cluster_topology AX_surfxml_cluster_topology
-XBT_PUBLIC_DATA(short int) surfxml_cluster_topology_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_bb___lat) AX_surfxml_cluster_bb___lat;
-#define A_surfxml_cluster_bb___lat (surfxml_bufferstack + AX_surfxml_cluster_bb___lat)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_bb___lat_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_loopback___lat) AX_surfxml_cluster_loopback___lat;
-#define A_surfxml_cluster_loopback___lat (surfxml_bufferstack + AX_surfxml_cluster_loopback___lat)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_loopback___lat_isset;
-XBT_PUBLIC_DATA(AT_surfxml_route_symmetrical) AX_surfxml_route_symmetrical;
-#define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
-XBT_PUBLIC_DATA(short int) surfxml_route_symmetrical_isset;
-XBT_PUBLIC_DATA(AT_surfxml_trace_id) AX_surfxml_trace_id;
-#define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
-XBT_PUBLIC_DATA(short int) surfxml_trace_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_radical) AX_surfxml_cluster_radical;
-#define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_radical_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host_core) AX_surfxml_host_core;
-#define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
-XBT_PUBLIC_DATA(short int) surfxml_host_core_isset;
-XBT_PUBLIC_DATA(AT_surfxml_random_radical) AX_surfxml_random_radical;
-#define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
-XBT_PUBLIC_DATA(short int) surfxml_random_radical_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_sharing___policy) AX_surfxml_cluster_sharing___policy;
-#define A_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy
-XBT_PUBLIC_DATA(short int) surfxml_cluster_sharing___policy_isset;
-XBT_PUBLIC_DATA(AT_surfxml_trace_file) AX_surfxml_trace_file;
-#define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
-XBT_PUBLIC_DATA(short int) surfxml_trace_file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host_state___file) AX_surfxml_host_state___file;
-#define A_surfxml_host_state___file (surfxml_bufferstack + AX_surfxml_host_state___file)
-XBT_PUBLIC_DATA(short int) surfxml_host_state___file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_router_coordinates) AX_surfxml_router_coordinates;
-#define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
-XBT_PUBLIC_DATA(short int) surfxml_router_coordinates_isset;
-XBT_PUBLIC_DATA(AT_surfxml_ASroute_dst) AX_surfxml_ASroute_dst;
-#define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
-XBT_PUBLIC_DATA(short int) surfxml_ASroute_dst_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host_state) AX_surfxml_host_state;
-#define A_surfxml_host_state AX_surfxml_host_state
-XBT_PUBLIC_DATA(short int) surfxml_host_state_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_lat) AX_surfxml_cluster_lat;
-#define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_lat_isset;
-XBT_PUBLIC_DATA(AT_surfxml_storage___type_content) AX_surfxml_storage___type_content;
-#define A_surfxml_storage___type_content (surfxml_bufferstack + AX_surfxml_storage___type_content)
-XBT_PUBLIC_DATA(short int) surfxml_storage___type_content_isset;
-XBT_PUBLIC_DATA(AT_surfxml_ASroute_gw___dst) AX_surfxml_ASroute_gw___dst;
-#define A_surfxml_ASroute_gw___dst (surfxml_bufferstack + AX_surfxml_ASroute_gw___dst)
-XBT_PUBLIC_DATA(short int) surfxml_ASroute_gw___dst_isset;
-XBT_PUBLIC_DATA(AT_surfxml_platform_version) AX_surfxml_platform_version;
-#define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
-XBT_PUBLIC_DATA(short int) surfxml_platform_version_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host___link_down) AX_surfxml_host___link_down;
-#define A_surfxml_host___link_down (surfxml_bufferstack + AX_surfxml_host___link_down)
-XBT_PUBLIC_DATA(short int) surfxml_host___link_down_isset;
-XBT_PUBLIC_DATA(AT_surfxml_random_seed) AX_surfxml_random_seed;
-#define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
-XBT_PUBLIC_DATA(short int) surfxml_random_seed_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_limiter___link) AX_surfxml_cluster_limiter___link;
-#define A_surfxml_cluster_limiter___link (surfxml_bufferstack + AX_surfxml_cluster_limiter___link)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_limiter___link_isset;
-XBT_PUBLIC_DATA(AT_surfxml_process_function) AX_surfxml_process_function;
-#define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
-XBT_PUBLIC_DATA(short int) surfxml_process_function_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host___link_up) AX_surfxml_host___link_up;
-#define A_surfxml_host___link_up (surfxml_bufferstack + AX_surfxml_host___link_up)
-XBT_PUBLIC_DATA(short int) surfxml_host___link_up_isset;
-XBT_PUBLIC_DATA(AT_surfxml_link_state) AX_surfxml_link_state;
-#define A_surfxml_link_state AX_surfxml_link_state
-XBT_PUBLIC_DATA(short int) surfxml_link_state_isset;
-XBT_PUBLIC_DATA(AT_surfxml_config_id) AX_surfxml_config_id;
-#define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
-XBT_PUBLIC_DATA(short int) surfxml_config_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_bb___sharing___policy) AX_surfxml_cluster_bb___sharing___policy;
+#define A_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy
+XBT_PUBLIC_DATA(short int) surfxml_cluster_bb___sharing___policy_isset;
+XBT_PUBLIC_DATA(AT_surfxml_peer_bw___out) AX_surfxml_peer_bw___out;
+#define A_surfxml_peer_bw___out (surfxml_bufferstack + AX_surfxml_peer_bw___out)
+XBT_PUBLIC_DATA(short int) surfxml_peer_bw___out_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_core) AX_surfxml_cluster_core;
+#define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_core_isset;
XBT_PUBLIC_DATA(AT_surfxml_random_std___deviation) AX_surfxml_random_std___deviation;
#define A_surfxml_random_std___deviation (surfxml_bufferstack + AX_surfxml_random_std___deviation)
XBT_PUBLIC_DATA(short int) surfxml_random_std___deviation_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_topo___parameters) AX_surfxml_cluster_topo___parameters;
-#define A_surfxml_cluster_topo___parameters (surfxml_bufferstack + AX_surfxml_cluster_topo___parameters)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_topo___parameters_isset;
-XBT_PUBLIC_DATA(AT_surfxml_process_kill___time) AX_surfxml_process_kill___time;
-#define A_surfxml_process_kill___time (surfxml_bufferstack + AX_surfxml_process_kill___time)
-XBT_PUBLIC_DATA(short int) surfxml_process_kill___time_isset;
+XBT_PUBLIC_DATA(AT_surfxml_bypassRoute_src) AX_surfxml_bypassRoute_src;
+#define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
+XBT_PUBLIC_DATA(short int) surfxml_bypassRoute_src_isset;
+XBT_PUBLIC_DATA(AT_surfxml_backbone_bandwidth) AX_surfxml_backbone_bandwidth;
+#define A_surfxml_backbone_bandwidth (surfxml_bufferstack + AX_surfxml_backbone_bandwidth)
+XBT_PUBLIC_DATA(short int) surfxml_backbone_bandwidth_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cabinet_radical) AX_surfxml_cabinet_radical;
+#define A_surfxml_cabinet_radical (surfxml_bufferstack + AX_surfxml_cabinet_radical)
+XBT_PUBLIC_DATA(short int) surfxml_cabinet_radical_isset;
+XBT_PUBLIC_DATA(AT_surfxml_storage_content) AX_surfxml_storage_content;
+#define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
+XBT_PUBLIC_DATA(short int) surfxml_storage_content_isset;
+XBT_PUBLIC_DATA(AT_surfxml_link_id) AX_surfxml_link_id;
+#define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
+XBT_PUBLIC_DATA(short int) surfxml_link_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host___link_id) AX_surfxml_host___link_id;
+#define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
+XBT_PUBLIC_DATA(short int) surfxml_host___link_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_include_file) AX_surfxml_include_file;
+#define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
+XBT_PUBLIC_DATA(short int) surfxml_include_file_isset;
XBT_PUBLIC_DATA(AT_surfxml_storage_content___type) AX_surfxml_storage_content___type;
#define A_surfxml_storage_content___type (surfxml_bufferstack + AX_surfxml_storage_content___type)
XBT_PUBLIC_DATA(short int) surfxml_storage_content___type_isset;
-XBT_PUBLIC_DATA(AT_surfxml_trace___connect_kind) AX_surfxml_trace___connect_kind;
-#define A_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind
-XBT_PUBLIC_DATA(short int) surfxml_trace___connect_kind_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host_availability___file) AX_surfxml_host_availability___file;
-#define A_surfxml_host_availability___file (surfxml_bufferstack + AX_surfxml_host_availability___file)
-XBT_PUBLIC_DATA(short int) surfxml_host_availability___file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_mount_storageId) AX_surfxml_mount_storageId;
-#define A_surfxml_mount_storageId (surfxml_bufferstack + AX_surfxml_mount_storageId)
-XBT_PUBLIC_DATA(short int) surfxml_mount_storageId_isset;
-XBT_PUBLIC_DATA(AT_surfxml_prop_id) AX_surfxml_prop_id;
-#define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
-XBT_PUBLIC_DATA(short int) surfxml_prop_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_random_mean) AX_surfxml_random_mean;
-#define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
-XBT_PUBLIC_DATA(short int) surfxml_random_mean_isset;
+XBT_PUBLIC_DATA(AT_surfxml_process_kill___time) AX_surfxml_process_kill___time;
+#define A_surfxml_process_kill___time (surfxml_bufferstack + AX_surfxml_process_kill___time)
+XBT_PUBLIC_DATA(short int) surfxml_process_kill___time_isset;
+XBT_PUBLIC_DATA(AT_surfxml_peer_state___file) AX_surfxml_peer_state___file;
+#define A_surfxml_peer_state___file (surfxml_bufferstack + AX_surfxml_peer_state___file)
+XBT_PUBLIC_DATA(short int) surfxml_peer_state___file_isset;
+XBT_PUBLIC_DATA(AT_surfxml_link___ctn_direction) AX_surfxml_link___ctn_direction;
+#define A_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction
+XBT_PUBLIC_DATA(short int) surfxml_link___ctn_direction_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host___link_up) AX_surfxml_host___link_up;
+#define A_surfxml_host___link_up (surfxml_bufferstack + AX_surfxml_host___link_up)
+XBT_PUBLIC_DATA(short int) surfxml_host___link_up_isset;
+XBT_PUBLIC_DATA(AT_surfxml_bypassASroute_gw___dst) AX_surfxml_bypassASroute_gw___dst;
+#define A_surfxml_bypassASroute_gw___dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___dst)
+XBT_PUBLIC_DATA(short int) surfxml_bypassASroute_gw___dst_isset;
+XBT_PUBLIC_DATA(AT_surfxml_AS_routing) AX_surfxml_AS_routing;
+#define A_surfxml_AS_routing AX_surfxml_AS_routing
+XBT_PUBLIC_DATA(short int) surfxml_AS_routing_isset;
+XBT_PUBLIC_DATA(AT_surfxml_bypassRoute_dst) AX_surfxml_bypassRoute_dst;
+#define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
+XBT_PUBLIC_DATA(short int) surfxml_bypassRoute_dst_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_topology) AX_surfxml_cluster_topology;
+#define A_surfxml_cluster_topology AX_surfxml_cluster_topology
+XBT_PUBLIC_DATA(short int) surfxml_cluster_topology_isset;
+XBT_PUBLIC_DATA(AT_surfxml_link_latency) AX_surfxml_link_latency;
+#define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
+XBT_PUBLIC_DATA(short int) surfxml_link_latency_isset;
+XBT_PUBLIC_DATA(AT_surfxml_route_src) AX_surfxml_route_src;
+#define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
+XBT_PUBLIC_DATA(short int) surfxml_route_src_isset;
+XBT_PUBLIC_DATA(AT_surfxml_bypassASroute_src) AX_surfxml_bypassASroute_src;
+#define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
+XBT_PUBLIC_DATA(short int) surfxml_bypassASroute_src_isset;
XBT_PUBLIC_DATA(AT_surfxml_peer_bw___in) AX_surfxml_peer_bw___in;
#define A_surfxml_peer_bw___in (surfxml_bufferstack + AX_surfxml_peer_bw___in)
XBT_PUBLIC_DATA(short int) surfxml_peer_bw___in_isset;
-XBT_PUBLIC_DATA(AT_surfxml_trace___connect_element) AX_surfxml_trace___connect_element;
-#define A_surfxml_trace___connect_element (surfxml_bufferstack + AX_surfxml_trace___connect_element)
-XBT_PUBLIC_DATA(short int) surfxml_trace___connect_element_isset;
-XBT_PUBLIC_DATA(AT_surfxml_peer_bw___out) AX_surfxml_peer_bw___out;
-#define A_surfxml_peer_bw___out (surfxml_bufferstack + AX_surfxml_peer_bw___out)
-XBT_PUBLIC_DATA(short int) surfxml_peer_bw___out_isset;
-XBT_PUBLIC_DATA(AT_surfxml_random_min) AX_surfxml_random_min;
-#define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
-XBT_PUBLIC_DATA(short int) surfxml_random_min_isset;
+XBT_PUBLIC_DATA(AT_surfxml_trace___connect_kind) AX_surfxml_trace___connect_kind;
+#define A_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind
+XBT_PUBLIC_DATA(short int) surfxml_trace___connect_kind_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_prefix) AX_surfxml_cluster_prefix;
+#define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_prefix_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host_state) AX_surfxml_host_state;
+#define A_surfxml_host_state AX_surfxml_host_state
+XBT_PUBLIC_DATA(short int) surfxml_host_state_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cabinet_power) AX_surfxml_cabinet_power;
+#define A_surfxml_cabinet_power (surfxml_bufferstack + AX_surfxml_cabinet_power)
+XBT_PUBLIC_DATA(short int) surfxml_cabinet_power_isset;
XBT_PUBLIC_DATA(AT_surfxml_model___prop_value) AX_surfxml_model___prop_value;
#define A_surfxml_model___prop_value (surfxml_bufferstack + AX_surfxml_model___prop_value)
XBT_PUBLIC_DATA(short int) surfxml_model___prop_value_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_power) AX_surfxml_cluster_power;
-#define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_power_isset;
-XBT_PUBLIC_DATA(AT_surfxml_peer_power) AX_surfxml_peer_power;
-#define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
-XBT_PUBLIC_DATA(short int) surfxml_peer_power_isset;
-XBT_PUBLIC_DATA(AT_surfxml_router_id) AX_surfxml_router_id;
-#define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
-XBT_PUBLIC_DATA(short int) surfxml_router_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_route_dst) AX_surfxml_route_dst;
+#define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
+XBT_PUBLIC_DATA(short int) surfxml_route_dst_isset;
+XBT_PUBLIC_DATA(AT_surfxml_storage___type_size) AX_surfxml_storage___type_size;
+#define A_surfxml_storage___type_size (surfxml_bufferstack + AX_surfxml_storage___type_size)
+XBT_PUBLIC_DATA(short int) surfxml_storage___type_size_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host_id) AX_surfxml_host_id;
+#define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
+XBT_PUBLIC_DATA(short int) surfxml_host_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_ASroute_gw___src) AX_surfxml_ASroute_gw___src;
+#define A_surfxml_ASroute_gw___src (surfxml_bufferstack + AX_surfxml_ASroute_gw___src)
+XBT_PUBLIC_DATA(short int) surfxml_ASroute_gw___src_isset;
+XBT_PUBLIC_DATA(AT_surfxml_peer_coordinates) AX_surfxml_peer_coordinates;
+#define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
+XBT_PUBLIC_DATA(short int) surfxml_peer_coordinates_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cabinet_bw) AX_surfxml_cabinet_bw;
+#define A_surfxml_cabinet_bw (surfxml_bufferstack + AX_surfxml_cabinet_bw)
+XBT_PUBLIC_DATA(short int) surfxml_cabinet_bw_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_availability___file) AX_surfxml_cluster_availability___file;
+#define A_surfxml_cluster_availability___file (surfxml_bufferstack + AX_surfxml_cluster_availability___file)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_availability___file_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host_coordinates) AX_surfxml_host_coordinates;
+#define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
+XBT_PUBLIC_DATA(short int) surfxml_host_coordinates_isset;
+XBT_PUBLIC_DATA(AT_surfxml_random_max) AX_surfxml_random_max;
+#define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
+XBT_PUBLIC_DATA(short int) surfxml_random_max_isset;
+XBT_PUBLIC_DATA(AT_surfxml_trace___connect_trace) AX_surfxml_trace___connect_trace;
+#define A_surfxml_trace___connect_trace (surfxml_bufferstack + AX_surfxml_trace___connect_trace)
+XBT_PUBLIC_DATA(short int) surfxml_trace___connect_trace_isset;
XBT_PUBLIC_DATA(AT_surfxml_storage_id) AX_surfxml_storage_id;
#define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
XBT_PUBLIC_DATA(short int) surfxml_storage_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_process_start___time) AX_surfxml_process_start___time;
-#define A_surfxml_process_start___time (surfxml_bufferstack + AX_surfxml_process_start___time)
-XBT_PUBLIC_DATA(short int) surfxml_process_start___time_isset;
-XBT_PUBLIC_DATA(AT_surfxml_random_generator) AX_surfxml_random_generator;
-#define A_surfxml_random_generator AX_surfxml_random_generator
-XBT_PUBLIC_DATA(short int) surfxml_random_generator_isset;
-XBT_PUBLIC_DATA(AT_surfxml_include_file) AX_surfxml_include_file;
-#define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
-XBT_PUBLIC_DATA(short int) surfxml_include_file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cabinet_suffix) AX_surfxml_cabinet_suffix;
-#define A_surfxml_cabinet_suffix (surfxml_bufferstack + AX_surfxml_cabinet_suffix)
-XBT_PUBLIC_DATA(short int) surfxml_cabinet_suffix_isset;
XBT_PUBLIC_DATA(AT_surfxml_ASroute_symmetrical) AX_surfxml_ASroute_symmetrical;
#define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
XBT_PUBLIC_DATA(short int) surfxml_ASroute_symmetrical_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cabinet_lat) AX_surfxml_cabinet_lat;
-#define A_surfxml_cabinet_lat (surfxml_bufferstack + AX_surfxml_cabinet_lat)
-XBT_PUBLIC_DATA(short int) surfxml_cabinet_lat_isset;
-XBT_PUBLIC_DATA(AT_surfxml_link_latency___file) AX_surfxml_link_latency___file;
-#define A_surfxml_link_latency___file (surfxml_bufferstack + AX_surfxml_link_latency___file)
-XBT_PUBLIC_DATA(short int) surfxml_link_latency___file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_bypassRoute_dst) AX_surfxml_bypassRoute_dst;
-#define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
-XBT_PUBLIC_DATA(short int) surfxml_bypassRoute_dst_isset;
-XBT_PUBLIC_DATA(AT_surfxml_process_host) AX_surfxml_process_host;
-#define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
-XBT_PUBLIC_DATA(short int) surfxml_process_host_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_loopback___bw) AX_surfxml_cluster_loopback___bw;
-#define A_surfxml_cluster_loopback___bw (surfxml_bufferstack + AX_surfxml_cluster_loopback___bw)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_loopback___bw_isset;
-XBT_PUBLIC_DATA(AT_surfxml_backbone_latency) AX_surfxml_backbone_latency;
-#define A_surfxml_backbone_latency (surfxml_bufferstack + AX_surfxml_backbone_latency)
-XBT_PUBLIC_DATA(short int) surfxml_backbone_latency_isset;
-XBT_PUBLIC_DATA(AT_surfxml_prop_value) AX_surfxml_prop_value;
-#define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
-XBT_PUBLIC_DATA(short int) surfxml_prop_value_isset;
-XBT_PUBLIC_DATA(AT_surfxml_bypassASroute_gw___src) AX_surfxml_bypassASroute_gw___src;
-#define A_surfxml_bypassASroute_gw___src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___src)
-XBT_PUBLIC_DATA(short int) surfxml_bypassASroute_gw___src_isset;
-XBT_PUBLIC_DATA(AT_surfxml_peer_id) AX_surfxml_peer_id;
-#define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
-XBT_PUBLIC_DATA(short int) surfxml_peer_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_link_bandwidth___file) AX_surfxml_link_bandwidth___file;
-#define A_surfxml_link_bandwidth___file (surfxml_bufferstack + AX_surfxml_link_bandwidth___file)
-XBT_PUBLIC_DATA(short int) surfxml_link_bandwidth___file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_gpu_name) AX_surfxml_gpu_name;
-#define A_surfxml_gpu_name (surfxml_bufferstack + AX_surfxml_gpu_name)
-XBT_PUBLIC_DATA(short int) surfxml_gpu_name_isset;
-XBT_PUBLIC_DATA(AT_surfxml_bypassASroute_gw___dst) AX_surfxml_bypassASroute_gw___dst;
-#define A_surfxml_bypassASroute_gw___dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___dst)
-XBT_PUBLIC_DATA(short int) surfxml_bypassASroute_gw___dst_isset;
-XBT_PUBLIC_DATA(AT_surfxml_route_src) AX_surfxml_route_src;
-#define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
-XBT_PUBLIC_DATA(short int) surfxml_route_src_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_bb___sharing___policy) AX_surfxml_cluster_bb___sharing___policy;
-#define A_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy
-XBT_PUBLIC_DATA(short int) surfxml_cluster_bb___sharing___policy_isset;
-XBT_PUBLIC_DATA(AT_surfxml_AS_id) AX_surfxml_AS_id;
-#define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
-XBT_PUBLIC_DATA(short int) surfxml_AS_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_argument_value) AX_surfxml_argument_value;
-#define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
-XBT_PUBLIC_DATA(short int) surfxml_argument_value_isset;
-XBT_PUBLIC_DATA(AT_surfxml_bypassRoute_src) AX_surfxml_bypassRoute_src;
-#define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
-XBT_PUBLIC_DATA(short int) surfxml_bypassRoute_src_isset;
-XBT_PUBLIC_DATA(AT_surfxml_peer_availability___file) AX_surfxml_peer_availability___file;
-#define A_surfxml_peer_availability___file (surfxml_bufferstack + AX_surfxml_peer_availability___file)
-XBT_PUBLIC_DATA(short int) surfxml_peer_availability___file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_peer_coordinates) AX_surfxml_peer_coordinates;
-#define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
-XBT_PUBLIC_DATA(short int) surfxml_peer_coordinates_isset;
-XBT_PUBLIC_DATA(AT_surfxml_model___prop_id) AX_surfxml_model___prop_id;
-#define A_surfxml_model___prop_id (surfxml_bufferstack + AX_surfxml_model___prop_id)
-XBT_PUBLIC_DATA(short int) surfxml_model___prop_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_storage_content) AX_surfxml_storage_content;
-#define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
-XBT_PUBLIC_DATA(short int) surfxml_storage_content_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cabinet_prefix) AX_surfxml_cabinet_prefix;
-#define A_surfxml_cabinet_prefix (surfxml_bufferstack + AX_surfxml_cabinet_prefix)
-XBT_PUBLIC_DATA(short int) surfxml_cabinet_prefix_isset;
-XBT_PUBLIC_DATA(AT_surfxml_mstorage_name) AX_surfxml_mstorage_name;
-#define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
-XBT_PUBLIC_DATA(short int) surfxml_mstorage_name_isset;
-XBT_PUBLIC_DATA(AT_surfxml_storage___type_id) AX_surfxml_storage___type_id;
-#define A_surfxml_storage___type_id (surfxml_bufferstack + AX_surfxml_storage___type_id)
-XBT_PUBLIC_DATA(short int) surfxml_storage___type_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cabinet_id) AX_surfxml_cabinet_id;
-#define A_surfxml_cabinet_id (surfxml_bufferstack + AX_surfxml_cabinet_id)
-XBT_PUBLIC_DATA(short int) surfxml_cabinet_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_random_seed) AX_surfxml_random_seed;
+#define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
+XBT_PUBLIC_DATA(short int) surfxml_random_seed_isset;
+XBT_PUBLIC_DATA(AT_surfxml_process_start___time) AX_surfxml_process_start___time;
+#define A_surfxml_process_start___time (surfxml_bufferstack + AX_surfxml_process_start___time)
+XBT_PUBLIC_DATA(short int) surfxml_process_start___time_isset;
XBT_PUBLIC_DATA(AT_surfxml_cluster_state___file) AX_surfxml_cluster_state___file;
#define A_surfxml_cluster_state___file (surfxml_bufferstack + AX_surfxml_cluster_state___file)
XBT_PUBLIC_DATA(short int) surfxml_cluster_state___file_isset;
XBT_PUBLIC_DATA(AT_surfxml_host_power) AX_surfxml_host_power;
#define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
XBT_PUBLIC_DATA(short int) surfxml_host_power_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host_pstate) AX_surfxml_host_pstate;
-#define A_surfxml_host_pstate (surfxml_bufferstack + AX_surfxml_host_pstate)
-XBT_PUBLIC_DATA(short int) surfxml_host_pstate_isset;
-XBT_PUBLIC_DATA(AT_surfxml_mount_name) AX_surfxml_mount_name;
-#define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
-XBT_PUBLIC_DATA(short int) surfxml_mount_name_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host___link_id) AX_surfxml_host___link_id;
-#define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
-XBT_PUBLIC_DATA(short int) surfxml_host___link_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_random_radical) AX_surfxml_random_radical;
+#define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
+XBT_PUBLIC_DATA(short int) surfxml_random_radical_isset;
+XBT_PUBLIC_DATA(AT_surfxml_storage___type_id) AX_surfxml_storage___type_id;
+#define A_surfxml_storage___type_id (surfxml_bufferstack + AX_surfxml_storage___type_id)
+XBT_PUBLIC_DATA(short int) surfxml_storage___type_id_isset;
XBT_PUBLIC_DATA(AT_surfxml_random_id) AX_surfxml_random_id;
#define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
XBT_PUBLIC_DATA(short int) surfxml_random_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cabinet_bw) AX_surfxml_cabinet_bw;
-#define A_surfxml_cabinet_bw (surfxml_bufferstack + AX_surfxml_cabinet_bw)
-XBT_PUBLIC_DATA(short int) surfxml_cabinet_bw_isset;
-XBT_PUBLIC_DATA(AT_surfxml_trace___connect_trace) AX_surfxml_trace___connect_trace;
-#define A_surfxml_trace___connect_trace (surfxml_bufferstack + AX_surfxml_trace___connect_trace)
-XBT_PUBLIC_DATA(short int) surfxml_trace___connect_trace_isset;
-XBT_PUBLIC_DATA(AT_surfxml_storage___type_size) AX_surfxml_storage___type_size;
-#define A_surfxml_storage___type_size (surfxml_bufferstack + AX_surfxml_storage___type_size)
-XBT_PUBLIC_DATA(short int) surfxml_storage___type_size_isset;
-XBT_PUBLIC_DATA(AT_surfxml_process_on___failure) AX_surfxml_process_on___failure;
-#define A_surfxml_process_on___failure AX_surfxml_process_on___failure
-XBT_PUBLIC_DATA(short int) surfxml_process_on___failure_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cabinet_suffix) AX_surfxml_cabinet_suffix;
+#define A_surfxml_cabinet_suffix (surfxml_bufferstack + AX_surfxml_cabinet_suffix)
+XBT_PUBLIC_DATA(short int) surfxml_cabinet_suffix_isset;
+XBT_PUBLIC_DATA(AT_surfxml_route_symmetrical) AX_surfxml_route_symmetrical;
+#define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
+XBT_PUBLIC_DATA(short int) surfxml_route_symmetrical_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cabinet_lat) AX_surfxml_cabinet_lat;
+#define A_surfxml_cabinet_lat (surfxml_bufferstack + AX_surfxml_cabinet_lat)
+XBT_PUBLIC_DATA(short int) surfxml_cabinet_lat_isset;
+XBT_PUBLIC_DATA(AT_surfxml_bypassASroute_gw___src) AX_surfxml_bypassASroute_gw___src;
+#define A_surfxml_bypassASroute_gw___src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___src)
+XBT_PUBLIC_DATA(short int) surfxml_bypassASroute_gw___src_isset;
+XBT_PUBLIC_DATA(AT_surfxml_storage___type_content___type) AX_surfxml_storage___type_content___type;
+#define A_surfxml_storage___type_content___type (surfxml_bufferstack + AX_surfxml_storage___type_content___type)
+XBT_PUBLIC_DATA(short int) surfxml_storage___type_content___type_isset;
+XBT_PUBLIC_DATA(AT_surfxml_link___ctn_id) AX_surfxml_link___ctn_id;
+#define A_surfxml_link___ctn_id (surfxml_bufferstack + AX_surfxml_link___ctn_id)
+XBT_PUBLIC_DATA(short int) surfxml_link___ctn_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host_state___file) AX_surfxml_host_state___file;
+#define A_surfxml_host_state___file (surfxml_bufferstack + AX_surfxml_host_state___file)
+XBT_PUBLIC_DATA(short int) surfxml_host_state___file_isset;
XBT_PUBLIC_DATA(AT_surfxml_link_bandwidth) AX_surfxml_link_bandwidth;
#define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
XBT_PUBLIC_DATA(short int) surfxml_link_bandwidth_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_loopback___lat) AX_surfxml_cluster_loopback___lat;
+#define A_surfxml_cluster_loopback___lat (surfxml_bufferstack + AX_surfxml_cluster_loopback___lat)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_loopback___lat_isset;
+XBT_PUBLIC_DATA(AT_surfxml_process_function) AX_surfxml_process_function;
+#define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
+XBT_PUBLIC_DATA(short int) surfxml_process_function_isset;
+XBT_PUBLIC_DATA(AT_surfxml_backbone_latency) AX_surfxml_backbone_latency;
+#define A_surfxml_backbone_latency (surfxml_bufferstack + AX_surfxml_backbone_latency)
+XBT_PUBLIC_DATA(short int) surfxml_backbone_latency_isset;
+XBT_PUBLIC_DATA(AT_surfxml_process_on___failure) AX_surfxml_process_on___failure;
+#define A_surfxml_process_on___failure AX_surfxml_process_on___failure
+XBT_PUBLIC_DATA(short int) surfxml_process_on___failure_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host_core) AX_surfxml_host_core;
+#define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
+XBT_PUBLIC_DATA(short int) surfxml_host_core_isset;
+XBT_PUBLIC_DATA(AT_surfxml_random_generator) AX_surfxml_random_generator;
+#define A_surfxml_random_generator AX_surfxml_random_generator
+XBT_PUBLIC_DATA(short int) surfxml_random_generator_isset;
+XBT_PUBLIC_DATA(AT_surfxml_random_mean) AX_surfxml_random_mean;
+#define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
+XBT_PUBLIC_DATA(short int) surfxml_random_mean_isset;
+XBT_PUBLIC_DATA(AT_surfxml_ASroute_gw___dst) AX_surfxml_ASroute_gw___dst;
+#define A_surfxml_ASroute_gw___dst (surfxml_bufferstack + AX_surfxml_ASroute_gw___dst)
+XBT_PUBLIC_DATA(short int) surfxml_ASroute_gw___dst_isset;
+XBT_PUBLIC_DATA(AT_surfxml_peer_availability___file) AX_surfxml_peer_availability___file;
+#define A_surfxml_peer_availability___file (surfxml_bufferstack + AX_surfxml_peer_availability___file)
+XBT_PUBLIC_DATA(short int) surfxml_peer_availability___file_isset;
+XBT_PUBLIC_DATA(AT_surfxml_link_bandwidth___file) AX_surfxml_link_bandwidth___file;
+#define A_surfxml_link_bandwidth___file (surfxml_bufferstack + AX_surfxml_link_bandwidth___file)
+XBT_PUBLIC_DATA(short int) surfxml_link_bandwidth___file_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_sharing___policy) AX_surfxml_cluster_sharing___policy;
+#define A_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy
+XBT_PUBLIC_DATA(short int) surfxml_cluster_sharing___policy_isset;
+XBT_PUBLIC_DATA(AT_surfxml_process_host) AX_surfxml_process_host;
+#define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
+XBT_PUBLIC_DATA(short int) surfxml_process_host_isset;
+XBT_PUBLIC_DATA(AT_surfxml_trace_periodicity) AX_surfxml_trace_periodicity;
+#define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
+XBT_PUBLIC_DATA(short int) surfxml_trace_periodicity_isset;
+XBT_PUBLIC_DATA(AT_surfxml_peer_lat) AX_surfxml_peer_lat;
+#define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
+XBT_PUBLIC_DATA(short int) surfxml_peer_lat_isset;
+XBT_PUBLIC_DATA(AT_surfxml_peer_power) AX_surfxml_peer_power;
+#define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
+XBT_PUBLIC_DATA(short int) surfxml_peer_power_isset;
+XBT_PUBLIC_DATA(AT_surfxml_storage_attach) AX_surfxml_storage_attach;
+#define A_surfxml_storage_attach (surfxml_bufferstack + AX_surfxml_storage_attach)
+XBT_PUBLIC_DATA(short int) surfxml_storage_attach_isset;
+XBT_PUBLIC_DATA(AT_surfxml_router_coordinates) AX_surfxml_router_coordinates;
+#define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
+XBT_PUBLIC_DATA(short int) surfxml_router_coordinates_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cabinet_prefix) AX_surfxml_cabinet_prefix;
+#define A_surfxml_cabinet_prefix (surfxml_bufferstack + AX_surfxml_cabinet_prefix)
+XBT_PUBLIC_DATA(short int) surfxml_cabinet_prefix_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_bw) AX_surfxml_cluster_bw;
+#define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_bw_isset;
+XBT_PUBLIC_DATA(AT_surfxml_storage___type_content) AX_surfxml_storage___type_content;
+#define A_surfxml_storage___type_content (surfxml_bufferstack + AX_surfxml_storage___type_content)
+XBT_PUBLIC_DATA(short int) surfxml_storage___type_content_isset;
+XBT_PUBLIC_DATA(AT_surfxml_mstorage_typeId) AX_surfxml_mstorage_typeId;
+#define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
+XBT_PUBLIC_DATA(short int) surfxml_mstorage_typeId_isset;
+XBT_PUBLIC_DATA(AT_surfxml_model___prop_id) AX_surfxml_model___prop_id;
+#define A_surfxml_model___prop_id (surfxml_bufferstack + AX_surfxml_model___prop_id)
+XBT_PUBLIC_DATA(short int) surfxml_model___prop_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_backbone_id) AX_surfxml_backbone_id;
+#define A_surfxml_backbone_id (surfxml_bufferstack + AX_surfxml_backbone_id)
+XBT_PUBLIC_DATA(short int) surfxml_backbone_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_config_id) AX_surfxml_config_id;
+#define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
+XBT_PUBLIC_DATA(short int) surfxml_config_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_lat) AX_surfxml_cluster_lat;
+#define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_lat_isset;
+XBT_PUBLIC_DATA(AT_surfxml_platform_version) AX_surfxml_platform_version;
+#define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
+XBT_PUBLIC_DATA(short int) surfxml_platform_version_isset;
+XBT_PUBLIC_DATA(AT_surfxml_trace___connect_element) AX_surfxml_trace___connect_element;
+#define A_surfxml_trace___connect_element (surfxml_bufferstack + AX_surfxml_trace___connect_element)
+XBT_PUBLIC_DATA(short int) surfxml_trace___connect_element_isset;
+XBT_PUBLIC_DATA(AT_surfxml_mount_storageId) AX_surfxml_mount_storageId;
+#define A_surfxml_mount_storageId (surfxml_bufferstack + AX_surfxml_mount_storageId)
+XBT_PUBLIC_DATA(short int) surfxml_mount_storageId_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_bb___bw) AX_surfxml_cluster_bb___bw;
+#define A_surfxml_cluster_bb___bw (surfxml_bufferstack + AX_surfxml_cluster_bb___bw)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_bb___bw_isset;
+XBT_PUBLIC_DATA(AT_surfxml_ASroute_dst) AX_surfxml_ASroute_dst;
+#define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
+XBT_PUBLIC_DATA(short int) surfxml_ASroute_dst_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host_pstate) AX_surfxml_host_pstate;
+#define A_surfxml_host_pstate (surfxml_bufferstack + AX_surfxml_host_pstate)
+XBT_PUBLIC_DATA(short int) surfxml_host_pstate_isset;
+XBT_PUBLIC_DATA(AT_surfxml_peer_id) AX_surfxml_peer_id;
+#define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
+XBT_PUBLIC_DATA(short int) surfxml_peer_id_isset;
XBT_PUBLIC_DATA(AT_surfxml_ASroute_src) AX_surfxml_ASroute_src;
#define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
XBT_PUBLIC_DATA(short int) surfxml_ASroute_src_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host_id) AX_surfxml_host_id;
-#define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
-XBT_PUBLIC_DATA(short int) surfxml_host_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_random_max) AX_surfxml_random_max;
-#define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
-XBT_PUBLIC_DATA(short int) surfxml_random_max_isset;
-XBT_PUBLIC_DATA(AT_surfxml_backbone_bandwidth) AX_surfxml_backbone_bandwidth;
-#define A_surfxml_backbone_bandwidth (surfxml_bufferstack + AX_surfxml_backbone_bandwidth)
-XBT_PUBLIC_DATA(short int) surfxml_backbone_bandwidth_isset;
+XBT_PUBLIC_DATA(AT_surfxml_gpu_name) AX_surfxml_gpu_name;
+#define A_surfxml_gpu_name (surfxml_bufferstack + AX_surfxml_gpu_name)
+XBT_PUBLIC_DATA(short int) surfxml_gpu_name_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host_availability) AX_surfxml_host_availability;
+#define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
+XBT_PUBLIC_DATA(short int) surfxml_host_availability_isset;
+XBT_PUBLIC_DATA(AT_surfxml_mstorage_name) AX_surfxml_mstorage_name;
+#define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
+XBT_PUBLIC_DATA(short int) surfxml_mstorage_name_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cabinet_id) AX_surfxml_cabinet_id;
+#define A_surfxml_cabinet_id (surfxml_bufferstack + AX_surfxml_cabinet_id)
+XBT_PUBLIC_DATA(short int) surfxml_cabinet_id_isset;
XBT_PUBLIC_DATA(AT_surfxml_storage_typeId) AX_surfxml_storage_typeId;
#define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
XBT_PUBLIC_DATA(short int) surfxml_storage_typeId_isset;
-XBT_PUBLIC_DATA(AT_surfxml_link___ctn_direction) AX_surfxml_link___ctn_direction;
-#define A_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction
-XBT_PUBLIC_DATA(short int) surfxml_link___ctn_direction_isset;
-XBT_PUBLIC_DATA(AT_surfxml_ASroute_gw___src) AX_surfxml_ASroute_gw___src;
-#define A_surfxml_ASroute_gw___src (surfxml_bufferstack + AX_surfxml_ASroute_gw___src)
-XBT_PUBLIC_DATA(short int) surfxml_ASroute_gw___src_isset;
-XBT_PUBLIC_DATA(AT_surfxml_bypassASroute_src) AX_surfxml_bypassASroute_src;
-#define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
-XBT_PUBLIC_DATA(short int) surfxml_bypassASroute_src_isset;
-XBT_PUBLIC_DATA(AT_surfxml_host_coordinates) AX_surfxml_host_coordinates;
-#define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
-XBT_PUBLIC_DATA(short int) surfxml_host_coordinates_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_availability___file) AX_surfxml_cluster_availability___file;
-#define A_surfxml_cluster_availability___file (surfxml_bufferstack + AX_surfxml_cluster_availability___file)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_availability___file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_AS_routing) AX_surfxml_AS_routing;
-#define A_surfxml_AS_routing AX_surfxml_AS_routing
-XBT_PUBLIC_DATA(short int) surfxml_AS_routing_isset;
-XBT_PUBLIC_DATA(AT_surfxml_storage___type_content___type) AX_surfxml_storage___type_content___type;
-#define A_surfxml_storage___type_content___type (surfxml_bufferstack + AX_surfxml_storage___type_content___type)
-XBT_PUBLIC_DATA(short int) surfxml_storage___type_content___type_isset;
-XBT_PUBLIC_DATA(AT_surfxml_link_id) AX_surfxml_link_id;
-#define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
-XBT_PUBLIC_DATA(short int) surfxml_link_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_bb___bw) AX_surfxml_cluster_bb___bw;
-#define A_surfxml_cluster_bb___bw (surfxml_bufferstack + AX_surfxml_cluster_bb___bw)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_bb___bw_isset;
-XBT_PUBLIC_DATA(AT_surfxml_bypassASroute_dst) AX_surfxml_bypassASroute_dst;
-#define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
-XBT_PUBLIC_DATA(short int) surfxml_bypassASroute_dst_isset;
-XBT_PUBLIC_DATA(AT_surfxml_peer_state___file) AX_surfxml_peer_state___file;
-#define A_surfxml_peer_state___file (surfxml_bufferstack + AX_surfxml_peer_state___file)
-XBT_PUBLIC_DATA(short int) surfxml_peer_state___file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cabinet_power) AX_surfxml_cabinet_power;
-#define A_surfxml_cabinet_power (surfxml_bufferstack + AX_surfxml_cabinet_power)
-XBT_PUBLIC_DATA(short int) surfxml_cabinet_power_isset;
-XBT_PUBLIC_DATA(AT_surfxml_storage_attach) AX_surfxml_storage_attach;
-#define A_surfxml_storage_attach (surfxml_bufferstack + AX_surfxml_storage_attach)
-XBT_PUBLIC_DATA(short int) surfxml_storage_attach_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_bb___lat) AX_surfxml_cluster_bb___lat;
+#define A_surfxml_cluster_bb___lat (surfxml_bufferstack + AX_surfxml_cluster_bb___lat)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_bb___lat_isset;
+XBT_PUBLIC_DATA(AT_surfxml_trace_file) AX_surfxml_trace_file;
+#define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
+XBT_PUBLIC_DATA(short int) surfxml_trace_file_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_limiter___link) AX_surfxml_cluster_limiter___link;
+#define A_surfxml_cluster_limiter___link (surfxml_bufferstack + AX_surfxml_cluster_limiter___link)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_limiter___link_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_radical) AX_surfxml_cluster_radical;
+#define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_radical_isset;
+XBT_PUBLIC_DATA(AT_surfxml_router_id) AX_surfxml_router_id;
+#define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
+XBT_PUBLIC_DATA(short int) surfxml_router_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_trace_id) AX_surfxml_trace_id;
+#define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
+XBT_PUBLIC_DATA(short int) surfxml_trace_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_link_state) AX_surfxml_link_state;
+#define A_surfxml_link_state AX_surfxml_link_state
+XBT_PUBLIC_DATA(short int) surfxml_link_state_isset;
+XBT_PUBLIC_DATA(AT_surfxml_prop_id) AX_surfxml_prop_id;
+#define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
+XBT_PUBLIC_DATA(short int) surfxml_prop_id_isset;
+XBT_PUBLIC_DATA(AT_surfxml_host___link_down) AX_surfxml_host___link_down;
+#define A_surfxml_host___link_down (surfxml_bufferstack + AX_surfxml_host___link_down)
+XBT_PUBLIC_DATA(short int) surfxml_host___link_down_isset;
XBT_PUBLIC_DATA(AT_surfxml_link_state___file) AX_surfxml_link_state___file;
#define A_surfxml_link_state___file (surfxml_bufferstack + AX_surfxml_link_state___file)
XBT_PUBLIC_DATA(short int) surfxml_link_state___file_isset;
-XBT_PUBLIC_DATA(AT_surfxml_peer_lat) AX_surfxml_peer_lat;
-#define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
-XBT_PUBLIC_DATA(short int) surfxml_peer_lat_isset;
-XBT_PUBLIC_DATA(AT_surfxml_link_sharing___policy) AX_surfxml_link_sharing___policy;
-#define A_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy
-XBT_PUBLIC_DATA(short int) surfxml_link_sharing___policy_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cluster_bw) AX_surfxml_cluster_bw;
-#define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
-XBT_PUBLIC_DATA(short int) surfxml_cluster_bw_isset;
-XBT_PUBLIC_DATA(AT_surfxml_route_dst) AX_surfxml_route_dst;
-#define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
-XBT_PUBLIC_DATA(short int) surfxml_route_dst_isset;
+XBT_PUBLIC_DATA(AT_surfxml_cluster_topo___parameters) AX_surfxml_cluster_topo___parameters;
+#define A_surfxml_cluster_topo___parameters (surfxml_bufferstack + AX_surfxml_cluster_topo___parameters)
+XBT_PUBLIC_DATA(short int) surfxml_cluster_topo___parameters_isset;
XBT_PUBLIC_DATA(AT_surfxml_cluster_suffix) AX_surfxml_cluster_suffix;
#define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
XBT_PUBLIC_DATA(short int) surfxml_cluster_suffix_isset;
-XBT_PUBLIC_DATA(AT_surfxml_cabinet_radical) AX_surfxml_cabinet_radical;
-#define A_surfxml_cabinet_radical (surfxml_bufferstack + AX_surfxml_cabinet_radical)
-XBT_PUBLIC_DATA(short int) surfxml_cabinet_radical_isset;
-XBT_PUBLIC_DATA(AT_surfxml_link___ctn_id) AX_surfxml_link___ctn_id;
-#define A_surfxml_link___ctn_id (surfxml_bufferstack + AX_surfxml_link___ctn_id)
-XBT_PUBLIC_DATA(short int) surfxml_link___ctn_id_isset;
-XBT_PUBLIC_DATA(AT_surfxml_mstorage_typeId) AX_surfxml_mstorage_typeId;
-#define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
-XBT_PUBLIC_DATA(short int) surfxml_mstorage_typeId_isset;
/* XML application utilities. */
XBT_PUBLIC(int) surfxml_element_context(int);
XBT_PUBLIC(void) ETag_graphxml_edge(void);
/* XML application data. */
-typedef int AT_graphxml_edge_name;
-#define AU_graphxml_edge_name NULL
-typedef int AT_graphxml_edge_source;
-#define AU_graphxml_edge_source NULL
+typedef int AT_graphxml_node_position___y;
+#define AU_graphxml_node_position___y NULL
+typedef int AT_graphxml_node_position___x;
+#define AU_graphxml_node_position___x NULL
+typedef int AT_graphxml_node_data;
+#define AU_graphxml_node_data NULL
typedef int AT_graphxml_edge_length;
#define AU_graphxml_edge_length NULL
typedef int AT_graphxml_node_label;
#define AU_graphxml_node_label NULL
typedef enum { AU_graphxml_graph_isDirected, A_graphxml_graph_isDirected_true,A_graphxml_graph_isDirected_false } AT_graphxml_graph_isDirected;
-typedef int AT_graphxml_edge_label;
-#define AU_graphxml_edge_label NULL
typedef int AT_graphxml_edge_data;
#define AU_graphxml_edge_data NULL
+typedef int AT_graphxml_edge_name;
+#define AU_graphxml_edge_name NULL
typedef int AT_graphxml_edge_target;
#define AU_graphxml_edge_target NULL
-typedef int AT_graphxml_node_position___x;
-#define AU_graphxml_node_position___x NULL
-typedef int AT_graphxml_node_data;
-#define AU_graphxml_node_data NULL
+typedef int AT_graphxml_edge_source;
+#define AU_graphxml_edge_source NULL
+typedef int AT_graphxml_edge_label;
+#define AU_graphxml_edge_label NULL
typedef int AT_graphxml_node_name;
#define AU_graphxml_node_name NULL
-typedef int AT_graphxml_node_position___y;
-#define AU_graphxml_node_position___y NULL
/* FleXML-provided data. */
XBT_PUBLIC_DATA(int) graphxml_pcdata_ix;
XBT_PUBLIC_DATA(char *) graphxml_bufferstack;
#define graphxml_pcdata (graphxml_bufferstack + graphxml_pcdata_ix)
-XBT_PUBLIC_DATA(AT_graphxml_edge_name) AX_graphxml_edge_name;
-#define A_graphxml_edge_name (graphxml_bufferstack + AX_graphxml_edge_name)
-XBT_PUBLIC_DATA(short int) graphxml_edge_name_isset;
-XBT_PUBLIC_DATA(AT_graphxml_edge_source) AX_graphxml_edge_source;
-#define A_graphxml_edge_source (graphxml_bufferstack + AX_graphxml_edge_source)
-XBT_PUBLIC_DATA(short int) graphxml_edge_source_isset;
+XBT_PUBLIC_DATA(AT_graphxml_node_position___y) AX_graphxml_node_position___y;
+#define A_graphxml_node_position___y (graphxml_bufferstack + AX_graphxml_node_position___y)
+XBT_PUBLIC_DATA(short int) graphxml_node_position___y_isset;
+XBT_PUBLIC_DATA(AT_graphxml_node_position___x) AX_graphxml_node_position___x;
+#define A_graphxml_node_position___x (graphxml_bufferstack + AX_graphxml_node_position___x)
+XBT_PUBLIC_DATA(short int) graphxml_node_position___x_isset;
+XBT_PUBLIC_DATA(AT_graphxml_node_data) AX_graphxml_node_data;
+#define A_graphxml_node_data (graphxml_bufferstack + AX_graphxml_node_data)
+XBT_PUBLIC_DATA(short int) graphxml_node_data_isset;
XBT_PUBLIC_DATA(AT_graphxml_edge_length) AX_graphxml_edge_length;
#define A_graphxml_edge_length (graphxml_bufferstack + AX_graphxml_edge_length)
XBT_PUBLIC_DATA(short int) graphxml_edge_length_isset;
XBT_PUBLIC_DATA(AT_graphxml_graph_isDirected) AX_graphxml_graph_isDirected;
#define A_graphxml_graph_isDirected AX_graphxml_graph_isDirected
XBT_PUBLIC_DATA(short int) graphxml_graph_isDirected_isset;
-XBT_PUBLIC_DATA(AT_graphxml_edge_label) AX_graphxml_edge_label;
-#define A_graphxml_edge_label (graphxml_bufferstack + AX_graphxml_edge_label)
-XBT_PUBLIC_DATA(short int) graphxml_edge_label_isset;
XBT_PUBLIC_DATA(AT_graphxml_edge_data) AX_graphxml_edge_data;
#define A_graphxml_edge_data (graphxml_bufferstack + AX_graphxml_edge_data)
XBT_PUBLIC_DATA(short int) graphxml_edge_data_isset;
+XBT_PUBLIC_DATA(AT_graphxml_edge_name) AX_graphxml_edge_name;
+#define A_graphxml_edge_name (graphxml_bufferstack + AX_graphxml_edge_name)
+XBT_PUBLIC_DATA(short int) graphxml_edge_name_isset;
XBT_PUBLIC_DATA(AT_graphxml_edge_target) AX_graphxml_edge_target;
#define A_graphxml_edge_target (graphxml_bufferstack + AX_graphxml_edge_target)
XBT_PUBLIC_DATA(short int) graphxml_edge_target_isset;
-XBT_PUBLIC_DATA(AT_graphxml_node_position___x) AX_graphxml_node_position___x;
-#define A_graphxml_node_position___x (graphxml_bufferstack + AX_graphxml_node_position___x)
-XBT_PUBLIC_DATA(short int) graphxml_node_position___x_isset;
-XBT_PUBLIC_DATA(AT_graphxml_node_data) AX_graphxml_node_data;
-#define A_graphxml_node_data (graphxml_bufferstack + AX_graphxml_node_data)
-XBT_PUBLIC_DATA(short int) graphxml_node_data_isset;
+XBT_PUBLIC_DATA(AT_graphxml_edge_source) AX_graphxml_edge_source;
+#define A_graphxml_edge_source (graphxml_bufferstack + AX_graphxml_edge_source)
+XBT_PUBLIC_DATA(short int) graphxml_edge_source_isset;
+XBT_PUBLIC_DATA(AT_graphxml_edge_label) AX_graphxml_edge_label;
+#define A_graphxml_edge_label (graphxml_bufferstack + AX_graphxml_edge_label)
+XBT_PUBLIC_DATA(short int) graphxml_edge_label_isset;
XBT_PUBLIC_DATA(AT_graphxml_node_name) AX_graphxml_node_name;
#define A_graphxml_node_name (graphxml_bufferstack + AX_graphxml_node_name)
XBT_PUBLIC_DATA(short int) graphxml_node_name_isset;
-XBT_PUBLIC_DATA(AT_graphxml_node_position___y) AX_graphxml_node_position___y;
-#define A_graphxml_node_position___y (graphxml_bufferstack + AX_graphxml_node_position___y)
-XBT_PUBLIC_DATA(short int) graphxml_node_position___y_isset;
/* XML application utilities. */
XBT_PUBLIC(int) graphxml_element_context(int);
/**
* @param value The new bandwidth
- * @param date When to change the bandwidth
*/
public void updateBandwidth(double value, double date) {
SurfJNI.NetworkLink_updateBandwidth__SWIG_0(swigCPtr, this, value, date);
/**
* @param value The new latency
- * @param date When to change the latency
*/
public void updateLatency(double value, double date) {
SurfJNI.NetworkLink_updateLatency__SWIG_0(swigCPtr, this, value, date);
}
}
-static void update_comm_pattern(mc_comm_pattern_t comm_pattern, smx_action_t comm)
+static void update_comm_pattern(mc_comm_pattern_t comm_pattern, smx_synchro_t comm)
{
void *addr_pointed;
comm_pattern->src_proc = comm->comm.src_proc->pid;
}
-void complete_comm_pattern(xbt_dynar_t list, smx_action_t comm)
+void complete_comm_pattern(xbt_dynar_t list, smx_synchro_t comm)
{
mc_comm_pattern_t current_comm_pattern;
unsigned int cursor = 0;
break;
case MC_CALL_TYPE_WAIT:
{
- smx_action_t current_comm = NULL;
+ smx_synchro_t current_comm = NULL;
if (call_type == MC_CALL_TYPE_WAIT)
current_comm = simcall_comm_wait__get__comm(req);
else
- current_comm = xbt_dynar_get_as(simcall_comm_waitany__get__comms(req), value, smx_action_t);
+ current_comm = xbt_dynar_get_as(simcall_comm_waitany__get__comms(req), value, smx_synchro_t);
// First wait only must be considered:
if (current_comm->comm.refcount == 1)
complete_comm_pattern(pattern, current_comm);
typedef struct mc_state {
unsigned long max_pid; /* Maximum pid at state's creation time */
mc_procstate_t proc_status; /* State's exploration status by process */
- s_smx_action_t internal_comm; /* To be referenced by the internal_req */
+ s_smx_synchro_t internal_comm; /* To be referenced by the internal_req */
s_smx_simcall_t internal_req; /* Internal translation of request */
s_smx_simcall_t executed_req; /* The executed request of the state */
int req_num; /* The request number (in the case of a
typedef struct s_mc_comm_pattern{
int num;
- smx_action_t comm;
+ smx_synchro_t comm;
e_smx_comm_type_t type;
unsigned long src_proc;
unsigned long dst_proc;
void get_comm_pattern(xbt_dynar_t communications_pattern, smx_simcall_t request, mc_call_type call_type);
void mc_update_comm_pattern(mc_call_type call_type, smx_simcall_t request, int value, xbt_dynar_t current_pattern);
-void complete_comm_pattern(xbt_dynar_t list, smx_action_t comm);
+void complete_comm_pattern(xbt_dynar_t list, smx_synchro_t comm);
void MC_pre_modelcheck_comm_determinism(void);
void MC_modelcheck_comm_determinism(void);
char *MC_request_to_string(smx_simcall_t req, int value)
{
char *type = NULL, *args = NULL, *str = NULL, *p = NULL, *bs = NULL;
- smx_action_t act = NULL;
+ smx_synchro_t act = NULL;
size_t size = 0;
switch (req->call) {
if (!xbt_dynar_is_empty(simcall_comm_waitany__get__comms(req))) {
p = pointer_to_string(xbt_dynar_get_as
(simcall_comm_waitany__get__comms(req), value,
- smx_action_t));
+ smx_synchro_t));
args =
bprintf("comm=%s (%d of %lu)", p, value + 1,
xbt_dynar_length(simcall_comm_waitany__get__comms(req)));
unsigned int MC_request_testany_fail(smx_simcall_t req)
{
unsigned int cursor;
- smx_action_t action;
+ smx_synchro_t action;
xbt_dynar_foreach(simcall_comm_testany__get__comms(req), cursor, action) {
if (action->comm.src_proc && action->comm.dst_proc)
int MC_request_is_enabled(smx_simcall_t req)
{
unsigned int index = 0;
- smx_action_t act = 0;
+ smx_synchro_t act = 0;
switch (req->call) {
case SIMCALL_NONE:
int MC_request_is_enabled_by_idx(smx_simcall_t req, unsigned int idx)
{
- smx_action_t act;
+ smx_synchro_t act;
switch (req->call) {
case SIMCALL_COMM_WAITANY:
act =
xbt_dynar_get_as(simcall_comm_waitany__get__comms(req), idx,
- smx_action_t);
+ smx_synchro_t);
return (act->comm.src_proc && act->comm.dst_proc);
break;
case SIMCALL_COMM_TESTANY:
act =
xbt_dynar_get_as(simcall_comm_testany__get__comms(req), idx,
- smx_action_t);
+ smx_synchro_t);
return (act->comm.src_proc && act->comm.dst_proc);
break;
{
char *str = NULL, *label = NULL;
- smx_action_t act = NULL;
+ smx_synchro_t act = NULL;
switch (req->call) {
case SIMCALL_COMM_ISEND:
state->internal_req.issuer = req->issuer;
state->internal_comm =
*xbt_dynar_get_as(simcall_comm_waitany__get__comms(req), value,
- smx_action_t);
+ smx_synchro_t);
simcall_comm_wait__set__comm(&state->internal_req, &state->internal_comm);
simcall_comm_wait__set__timeout(&state->internal_req, 0);
break;
if (value > 0)
state->internal_comm =
*xbt_dynar_get_as(simcall_comm_testany__get__comms(req), value,
- smx_action_t);
+ smx_synchro_t);
simcall_comm_test__set__comm(&state->internal_req, &state->internal_comm);
simcall_comm_test__set__result(&state->internal_req, value);
smx_process_t process = NULL;
mc_procstate_t procstate = NULL;
unsigned int start_count;
- smx_action_t act = NULL;
+ smx_synchro_t act = NULL;
xbt_swag_foreach(process, simix_global->process_list) {
procstate = &state->proc_status[process->pid];
*/
static XBT_INLINE
msg_comm_t MSG_task_isend_internal(msg_task_t task, const char *alias,
- int (*match_fun)(void*,void*, smx_action_t),
+ int (*match_fun)(void*,void*, smx_synchro_t),
void *match_data, void_f_pvoid_t cleanup,
int detached)
{
msg_global->sent_msg++;
/* Send it by calling SIMIX network layer */
- smx_action_t act = simcall_comm_isend(SIMIX_process_self(), mailbox, t_simdata->message_size,
+ smx_synchro_t act = simcall_comm_isend(SIMIX_process_self(), mailbox, t_simdata->message_size,
t_simdata->rate, task, sizeof(void *),
match_fun, cleanup, NULL, match_data,detached);
t_simdata->comm = act; /* FIXME: is the field t_simdata->comm still useful? */
*/
msg_comm_t MSG_task_isend_with_matching(msg_task_t task, const char *alias,
int (*match_fun)(void*, void*,
- smx_action_t),
+ smx_synchro_t),
void *match_data)
{
return MSG_task_isend_internal(task, alias, match_fun, match_data, NULL, 0);
int finished_index = -1;
/* create the equivalent dynar with SIMIX objects */
- xbt_dynar_t s_comms = xbt_dynar_new(sizeof(smx_action_t), NULL);
+ xbt_dynar_t s_comms = xbt_dynar_new(sizeof(smx_synchro_t), NULL);
msg_comm_t comm;
unsigned int cursor;
xbt_dynar_foreach(comms, cursor, comm) {
int finished_index = -1;
/* create the equivalent dynar with SIMIX objects */
- xbt_dynar_t s_comms = xbt_dynar_new(sizeof(smx_action_t), NULL);
+ xbt_dynar_t s_comms = xbt_dynar_new(sizeof(smx_synchro_t), NULL);
msg_comm_t comm;
unsigned int cursor;
xbt_dynar_foreach(comms, cursor, comm) {
* \param buff the data copied
* \param buff_size size of the buffer
*/
-void MSG_comm_copy_data_from_SIMIX(smx_action_t comm, void* buff, size_t buff_size) {
+void MSG_comm_copy_data_from_SIMIX(smx_synchro_t comm, void* buff, size_t buff_size) {
// copy the task
SIMIX_comm_copy_pointer_callback(comm, buff, buff_size);
msg_task_t MSG_mailbox_get_head(msg_mailbox_t mailbox)
{
- smx_action_t comm = simcall_rdv_get_head(mailbox);
+ smx_synchro_t comm = simcall_rdv_get_head(mailbox);
if (!comm)
return NULL;
/* Try to send it by calling SIMIX network layer */
TRY {
- smx_action_t comm = NULL; /* MC needs the comm to be set to NULL during the simix call */
+ smx_synchro_t comm = NULL; /* MC needs the comm to be set to NULL during the simix call */
comm = simcall_comm_isend(SIMIX_process_self(), mailbox,t_simdata->message_size,
t_simdata->rate, task, sizeof(void *),
NULL, NULL, NULL, task, 0);
ptr = _xbt_ex_t; } while(0)
typedef struct simdata_task {
- smx_action_t compute; /* SIMIX modeling of computation */
- smx_action_t comm; /* SIMIX modeling of communication */
+ smx_synchro_t compute; /* SIMIX modeling of computation */
+ smx_synchro_t comm; /* SIMIX modeling of communication */
double message_size; /* Data size */
double computation_amount; /* Computation size */
msg_process_t sender;
#ifdef MSG_USE_DEPRECATED
m_channel_t put_channel; /* used for debugging purposes */
#endif
- smx_action_t waiting_action;
+ smx_synchro_t waiting_action;
msg_task_t waiting_task;
char **argv; /* arguments table if any */
int argc; /* arguments number if any */
} s_process_arg_t, *process_arg_t;
typedef struct msg_comm {
- smx_action_t s_comm; /* SIMIX communication object encapsulated (the same for both processes) */
+ smx_synchro_t s_comm; /* SIMIX communication object encapsulated (the same for both processes) */
msg_task_t task_sent; /* task sent (NULL for the receiver) */
msg_task_t *task_received; /* where the task will be received (NULL for the sender) */
msg_error_t status; /* status of the communication once finished */
int argc, char **argv,
xbt_dict_t properties, int auto_restart,
smx_process_t parent_process);
-void MSG_comm_copy_data_from_SIMIX(smx_action_t comm, void* buff, size_t buff_size);
+void MSG_comm_copy_data_from_SIMIX(smx_synchro_t comm, void* buff, size_t buff_size);
void MSG_post_create_environment(void);
*/
msg_error_t MSG_task_destroy(msg_task_t task)
{
- smx_action_t action = NULL;
+ smx_synchro_t action = NULL;
xbt_assert((task != NULL), "Invalid parameter");
if (task->simdata->isused) {
}
{
- smx_action_t compute = task->simdata->compute;
+ smx_synchro_t compute = task->simdata->compute;
msg_host_t host_now = compute->execution.host; // simix_private.h is necessary
if (host_now != host) {
/* task is not yet executed on this host */
int dax__pcdata_ix;
extern char *dax__bufferstack;
#define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
-AT_dax__job_version AX_dax__job_version;
-#define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
-short int dax__job_version_isset;
-AT_dax__job_id AX_dax__job_id;
-#define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
-short int dax__job_id_isset;
-AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
-#define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
-short int dax__adag_xsi_c_schemaLocation_isset;
+AT_dax__uses_type AX_dax__uses_type;
+#define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
+short int dax__uses_type_isset;
AT_dax__uses_register AX_dax__uses_register;
#define A_dax__uses_register AX_dax__uses_register
short int dax__uses_register_isset;
-AT_dax__job_namespace AX_dax__job_namespace;
-#define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
-short int dax__job_namespace_isset;
-AT_dax__adag_version AX_dax__adag_version;
-#define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
-short int dax__adag_version_isset;
-AT_dax__uses_link AX_dax__uses_link;
-#define A_dax__uses_link AX_dax__uses_link
-short int dax__uses_link_isset;
-AT_dax__adag_fileCount AX_dax__adag_fileCount;
-#define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
-short int dax__adag_fileCount_isset;
-AT_dax__uses_optional AX_dax__uses_optional;
-#define A_dax__uses_optional AX_dax__uses_optional
-short int dax__uses_optional_isset;
-AT_dax__job_level AX_dax__job_level;
-#define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
-short int dax__job_level_isset;
AT_dax__job_name AX_dax__job_name;
#define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
short int dax__job_name_isset;
-AT_dax__adag_xmlns AX_dax__adag_xmlns;
-#define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
-short int dax__adag_xmlns_isset;
-AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
-#define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
-short int dax__adag_xmlns_c_xsi_isset;
-AT_dax__uses_file AX_dax__uses_file;
-#define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
-short int dax__uses_file_isset;
-AT_dax__adag_index AX_dax__adag_index;
-#define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
-short int dax__adag_index_isset;
-AT_dax__job_runtime AX_dax__job_runtime;
-#define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
-short int dax__job_runtime_isset;
-AT_dax__adag_childCount AX_dax__adag_childCount;
-#define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
-short int dax__adag_childCount_isset;
+AT_dax__uses_optional AX_dax__uses_optional;
+#define A_dax__uses_optional AX_dax__uses_optional
+short int dax__uses_optional_isset;
AT_dax__uses_size AX_dax__uses_size;
#define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
short int dax__uses_size_isset;
+AT_dax__job_runtime AX_dax__job_runtime;
+#define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
+short int dax__job_runtime_isset;
+AT_dax__adag_fileCount AX_dax__adag_fileCount;
+#define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
+short int dax__adag_fileCount_isset;
+AT_dax__uses_link AX_dax__uses_link;
+#define A_dax__uses_link AX_dax__uses_link
+short int dax__uses_link_isset;
+AT_dax__uses_transfer AX_dax__uses_transfer;
+#define A_dax__uses_transfer AX_dax__uses_transfer
+short int dax__uses_transfer_isset;
+AT_dax__adag_jobCount AX_dax__adag_jobCount;
+#define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
+short int dax__adag_jobCount_isset;
+AT_dax__adag_xmlns AX_dax__adag_xmlns;
+#define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
+short int dax__adag_xmlns_isset;
+AT_dax__job_level AX_dax__job_level;
+#define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
+short int dax__job_level_isset;
+AT_dax__adag_version AX_dax__adag_version;
+#define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
+short int dax__adag_version_isset;
+AT_dax__job_id AX_dax__job_id;
+#define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
+short int dax__job_id_isset;
+AT_dax__job_namespace AX_dax__job_namespace;
+#define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
+short int dax__job_namespace_isset;
+AT_dax__parent_ref AX_dax__parent_ref;
+#define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
+short int dax__parent_ref_isset;
AT_dax__adag_count AX_dax__adag_count;
#define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
short int dax__adag_count_isset;
-AT_dax__uses_type AX_dax__uses_type;
-#define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
-short int dax__uses_type_isset;
+AT_dax__adag_childCount AX_dax__adag_childCount;
+#define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
+short int dax__adag_childCount_isset;
+AT_dax__adag_xsi_c_schemaLocation AX_dax__adag_xsi_c_schemaLocation;
+#define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
+short int dax__adag_xsi_c_schemaLocation_isset;
+AT_dax__uses_file AX_dax__uses_file;
+#define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
+short int dax__uses_file_isset;
+AT_dax__adag_xmlns_c_xsi AX_dax__adag_xmlns_c_xsi;
+#define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
+short int dax__adag_xmlns_c_xsi_isset;
AT_dax__child_ref AX_dax__child_ref;
#define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
short int dax__child_ref_isset;
-AT_dax__parent_ref AX_dax__parent_ref;
-#define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
-short int dax__parent_ref_isset;
-AT_dax__adag_jobCount AX_dax__adag_jobCount;
-#define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
-short int dax__adag_jobCount_isset;
+AT_dax__adag_index AX_dax__adag_index;
+#define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
+short int dax__adag_index_isset;
AT_dax__adag_name AX_dax__adag_name;
#define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
short int dax__adag_name_isset;
-AT_dax__uses_transfer AX_dax__uses_transfer;
-#define A_dax__uses_transfer AX_dax__uses_transfer
-short int dax__uses_transfer_isset;
+AT_dax__job_version AX_dax__job_version;
+#define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
+short int dax__job_version_isset;
/* XML state. */
#ifdef FLEX_DEBUG
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</adag>' expected.",dax_text[0]);
YY_BREAK
-case YY_STATE_EOF(S_dax__adag_5):
+case YY_STATE_EOF(S_dax__adag):
case YY_STATE_EOF(S_dax__adag_3):
-case YY_STATE_EOF(E_dax__adag):
case YY_STATE_EOF(S_dax__adag_1):
-case YY_STATE_EOF(S_dax__adag):
+case YY_STATE_EOF(S_dax__adag_5):
+case YY_STATE_EOF(E_dax__adag):
FAIL("Premature EOF: `</adag>' expected.");
YY_BREAK
if (!AX_dax__job_runtime) FAIL("Required attribute `runtime' not set for `job' element.");
LEAVE; STag_dax__job(); dax__pcdata_ix = 0; ETag_dax__job(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
+ case S_dax__adag_2: case S_dax__adag: case S_dax__adag_3: SET(S_dax__adag_3); break;
}
}
YY_BREAK
ETag_dax__job();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_dax__adag: case S_dax__adag_2: case S_dax__adag_3: SET(S_dax__adag_3); break;
+ case S_dax__adag_2: case S_dax__adag: case S_dax__adag_3: SET(S_dax__adag_3); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</job>' expected.",dax_text[0]);
YY_BREAK
-case YY_STATE_EOF(S_dax__job):
case YY_STATE_EOF(E_dax__job):
case YY_STATE_EOF(S_dax__job_2):
+case YY_STATE_EOF(S_dax__job):
FAIL("Premature EOF: `</job>' expected.");
YY_BREAK
if (!AX_dax__uses_size) FAIL("Required attribute `size' not set for `uses' element.");
LEAVE; STag_dax__uses(); dax__pcdata_ix = 0; ETag_dax__uses(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_dax__job_1: case S_dax__job: case S_dax__job_2: SET(S_dax__job_2); break;
+ case S_dax__job: case S_dax__job_2: case S_dax__job_1: SET(S_dax__job_2); break;
}
}
YY_BREAK
ETag_dax__uses();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_dax__job_1: case S_dax__job: case S_dax__job_2: SET(S_dax__job_2); break;
+ case S_dax__job: case S_dax__job_2: case S_dax__job_1: SET(S_dax__job_2); break;
}
}
YY_BREAK
if (!AX_dax__child_ref) FAIL("Required attribute `ref' not set for `child' element.");
LEAVE; STag_dax__child(); dax__pcdata_ix = 0; ETag_dax__child(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_dax__adag: case S_dax__adag_1: case S_dax__adag_3: case S_dax__adag_4: case S_dax__adag_5: SET(S_dax__adag_5); break;
+ case S_dax__adag_4: case S_dax__adag: case S_dax__adag_3: case S_dax__adag_1: case S_dax__adag_5: SET(S_dax__adag_5); break;
}
}
YY_BREAK
ETag_dax__child();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_dax__adag: case S_dax__adag_1: case S_dax__adag_3: case S_dax__adag_4: case S_dax__adag_5: SET(S_dax__adag_5); break;
+ case S_dax__adag_4: case S_dax__adag: case S_dax__adag_3: case S_dax__adag_1: case S_dax__adag_5: SET(S_dax__adag_5); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</child>' expected.",dax_text[0]);
YY_BREAK
+case YY_STATE_EOF(S_dax__child_2):
case YY_STATE_EOF(S_dax__child):
case YY_STATE_EOF(E_dax__child):
-case YY_STATE_EOF(S_dax__child_2):
FAIL("Premature EOF: `</child>' expected.");
YY_BREAK
if (!AX_dax__parent_ref) FAIL("Required attribute `ref' not set for `parent' element.");
LEAVE; STag_dax__parent(); dax__pcdata_ix = 0; ETag_dax__parent(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_dax__child: case S_dax__child_1: case S_dax__child_2: SET(S_dax__child_2); break;
+ case S_dax__child: case S_dax__child_2: case S_dax__child_1: SET(S_dax__child_2); break;
}
}
YY_BREAK
ETag_dax__parent();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_dax__child: case S_dax__child_1: case S_dax__child_2: SET(S_dax__child_2); break;
+ case S_dax__child: case S_dax__child_2: case S_dax__child_1: SET(S_dax__child_2); break;
}
}
YY_BREAK
XBT_PUBLIC(void) ETag_dax__parent(void);
/* XML application data. */
-typedef int AT_dax__child_ref;
-#define AU_dax__child_ref NULL
-typedef int AT_dax__adag_jobCount;
-#define AU_dax__adag_jobCount NULL
-typedef int AT_dax__job_namespace;
-#define AU_dax__job_namespace NULL
-typedef int AT_dax__uses_size;
-#define AU_dax__uses_size NULL
-typedef int AT_dax__job_name;
-#define AU_dax__job_name NULL
typedef int AT_dax__uses_type;
#define AU_dax__uses_type NULL
typedef int AT_dax__parent_ref;
#define AU_dax__parent_ref NULL
-typedef int AT_dax__adag_xmlns_c_xsi;
-#define AU_dax__adag_xmlns_c_xsi NULL
+typedef int AT_dax__uses_file;
+#define AU_dax__uses_file NULL
+typedef int AT_dax__job_name;
+#define AU_dax__job_name NULL
+typedef int AT_dax__job_version;
+#define AU_dax__job_version NULL
+typedef int AT_dax__job_namespace;
+#define AU_dax__job_namespace NULL
typedef int AT_dax__adag_xsi_c_schemaLocation;
#define AU_dax__adag_xsi_c_schemaLocation NULL
-typedef enum { AU_dax__uses_optional, A_dax__uses_optional_false,A_dax__uses_optional_true } AT_dax__uses_optional;
+typedef int AT_dax__adag_fileCount;
+#define AU_dax__adag_fileCount NULL
+typedef int AT_dax__adag_count;
+#define AU_dax__adag_count NULL
+typedef int AT_dax__adag_index;
+#define AU_dax__adag_index NULL
+typedef int AT_dax__adag_xmlns_c_xsi;
+#define AU_dax__adag_xmlns_c_xsi NULL
typedef int AT_dax__adag_childCount;
#define AU_dax__adag_childCount NULL
typedef int AT_dax__adag_xmlns;
#define AU_dax__adag_xmlns NULL
-typedef enum { AU_dax__uses_transfer, A_dax__uses_transfer_false,A_dax__uses_transfer_true } AT_dax__uses_transfer;
-typedef int AT_dax__job_id;
-#define AU_dax__job_id NULL
+typedef int AT_dax__adag_name;
+#define AU_dax__adag_name NULL
+typedef int AT_dax__adag_jobCount;
+#define AU_dax__adag_jobCount NULL
+typedef enum { AU_dax__uses_register, A_dax__uses_register_false,A_dax__uses_register_true } AT_dax__uses_register;
typedef int AT_dax__adag_version;
#define AU_dax__adag_version NULL
-typedef int AT_dax__adag_count;
-#define AU_dax__adag_count NULL
+typedef enum { AU_dax__uses_optional, A_dax__uses_optional_false,A_dax__uses_optional_true } AT_dax__uses_optional;
typedef int AT_dax__job_level;
#define AU_dax__job_level NULL
-typedef int AT_dax__adag_name;
-#define AU_dax__adag_name NULL
-typedef int AT_dax__job_version;
-#define AU_dax__job_version NULL
typedef int AT_dax__job_runtime;
#define AU_dax__job_runtime NULL
-typedef int AT_dax__adag_index;
-#define AU_dax__adag_index NULL
-typedef int AT_dax__adag_fileCount;
-#define AU_dax__adag_fileCount NULL
-typedef enum { AU_dax__uses_register, A_dax__uses_register_false,A_dax__uses_register_true } AT_dax__uses_register;
-typedef int AT_dax__uses_file;
-#define AU_dax__uses_file NULL
+typedef int AT_dax__uses_size;
+#define AU_dax__uses_size NULL
+typedef enum { AU_dax__uses_transfer, A_dax__uses_transfer_false,A_dax__uses_transfer_true } AT_dax__uses_transfer;
+typedef int AT_dax__job_id;
+#define AU_dax__job_id NULL
+typedef int AT_dax__child_ref;
+#define AU_dax__child_ref NULL
typedef enum { AU_dax__uses_link, A_dax__uses_link_input,A_dax__uses_link_output } AT_dax__uses_link;
/* FleXML-provided data. */
XBT_PUBLIC_DATA(int) dax__pcdata_ix;
XBT_PUBLIC_DATA(char *) dax__bufferstack;
#define dax__pcdata (dax__bufferstack + dax__pcdata_ix)
-XBT_PUBLIC_DATA(AT_dax__child_ref) AX_dax__child_ref;
-#define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
-XBT_PUBLIC_DATA(short int) dax__child_ref_isset;
-XBT_PUBLIC_DATA(AT_dax__adag_jobCount) AX_dax__adag_jobCount;
-#define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
-XBT_PUBLIC_DATA(short int) dax__adag_jobCount_isset;
-XBT_PUBLIC_DATA(AT_dax__job_namespace) AX_dax__job_namespace;
-#define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
-XBT_PUBLIC_DATA(short int) dax__job_namespace_isset;
-XBT_PUBLIC_DATA(AT_dax__uses_size) AX_dax__uses_size;
-#define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
-XBT_PUBLIC_DATA(short int) dax__uses_size_isset;
-XBT_PUBLIC_DATA(AT_dax__job_name) AX_dax__job_name;
-#define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
-XBT_PUBLIC_DATA(short int) dax__job_name_isset;
XBT_PUBLIC_DATA(AT_dax__uses_type) AX_dax__uses_type;
#define A_dax__uses_type (dax__bufferstack + AX_dax__uses_type)
XBT_PUBLIC_DATA(short int) dax__uses_type_isset;
XBT_PUBLIC_DATA(AT_dax__parent_ref) AX_dax__parent_ref;
#define A_dax__parent_ref (dax__bufferstack + AX_dax__parent_ref)
XBT_PUBLIC_DATA(short int) dax__parent_ref_isset;
-XBT_PUBLIC_DATA(AT_dax__adag_xmlns_c_xsi) AX_dax__adag_xmlns_c_xsi;
-#define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
-XBT_PUBLIC_DATA(short int) dax__adag_xmlns_c_xsi_isset;
+XBT_PUBLIC_DATA(AT_dax__uses_file) AX_dax__uses_file;
+#define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
+XBT_PUBLIC_DATA(short int) dax__uses_file_isset;
+XBT_PUBLIC_DATA(AT_dax__job_name) AX_dax__job_name;
+#define A_dax__job_name (dax__bufferstack + AX_dax__job_name)
+XBT_PUBLIC_DATA(short int) dax__job_name_isset;
+XBT_PUBLIC_DATA(AT_dax__job_version) AX_dax__job_version;
+#define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
+XBT_PUBLIC_DATA(short int) dax__job_version_isset;
+XBT_PUBLIC_DATA(AT_dax__job_namespace) AX_dax__job_namespace;
+#define A_dax__job_namespace (dax__bufferstack + AX_dax__job_namespace)
+XBT_PUBLIC_DATA(short int) dax__job_namespace_isset;
XBT_PUBLIC_DATA(AT_dax__adag_xsi_c_schemaLocation) AX_dax__adag_xsi_c_schemaLocation;
#define A_dax__adag_xsi_c_schemaLocation (dax__bufferstack + AX_dax__adag_xsi_c_schemaLocation)
XBT_PUBLIC_DATA(short int) dax__adag_xsi_c_schemaLocation_isset;
-XBT_PUBLIC_DATA(AT_dax__uses_optional) AX_dax__uses_optional;
-#define A_dax__uses_optional AX_dax__uses_optional
-XBT_PUBLIC_DATA(short int) dax__uses_optional_isset;
+XBT_PUBLIC_DATA(AT_dax__adag_fileCount) AX_dax__adag_fileCount;
+#define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
+XBT_PUBLIC_DATA(short int) dax__adag_fileCount_isset;
+XBT_PUBLIC_DATA(AT_dax__adag_count) AX_dax__adag_count;
+#define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
+XBT_PUBLIC_DATA(short int) dax__adag_count_isset;
+XBT_PUBLIC_DATA(AT_dax__adag_index) AX_dax__adag_index;
+#define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
+XBT_PUBLIC_DATA(short int) dax__adag_index_isset;
+XBT_PUBLIC_DATA(AT_dax__adag_xmlns_c_xsi) AX_dax__adag_xmlns_c_xsi;
+#define A_dax__adag_xmlns_c_xsi (dax__bufferstack + AX_dax__adag_xmlns_c_xsi)
+XBT_PUBLIC_DATA(short int) dax__adag_xmlns_c_xsi_isset;
XBT_PUBLIC_DATA(AT_dax__adag_childCount) AX_dax__adag_childCount;
#define A_dax__adag_childCount (dax__bufferstack + AX_dax__adag_childCount)
XBT_PUBLIC_DATA(short int) dax__adag_childCount_isset;
XBT_PUBLIC_DATA(AT_dax__adag_xmlns) AX_dax__adag_xmlns;
#define A_dax__adag_xmlns (dax__bufferstack + AX_dax__adag_xmlns)
XBT_PUBLIC_DATA(short int) dax__adag_xmlns_isset;
-XBT_PUBLIC_DATA(AT_dax__uses_transfer) AX_dax__uses_transfer;
-#define A_dax__uses_transfer AX_dax__uses_transfer
-XBT_PUBLIC_DATA(short int) dax__uses_transfer_isset;
-XBT_PUBLIC_DATA(AT_dax__job_id) AX_dax__job_id;
-#define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
-XBT_PUBLIC_DATA(short int) dax__job_id_isset;
+XBT_PUBLIC_DATA(AT_dax__adag_name) AX_dax__adag_name;
+#define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
+XBT_PUBLIC_DATA(short int) dax__adag_name_isset;
+XBT_PUBLIC_DATA(AT_dax__adag_jobCount) AX_dax__adag_jobCount;
+#define A_dax__adag_jobCount (dax__bufferstack + AX_dax__adag_jobCount)
+XBT_PUBLIC_DATA(short int) dax__adag_jobCount_isset;
+XBT_PUBLIC_DATA(AT_dax__uses_register) AX_dax__uses_register;
+#define A_dax__uses_register AX_dax__uses_register
+XBT_PUBLIC_DATA(short int) dax__uses_register_isset;
XBT_PUBLIC_DATA(AT_dax__adag_version) AX_dax__adag_version;
#define A_dax__adag_version (dax__bufferstack + AX_dax__adag_version)
XBT_PUBLIC_DATA(short int) dax__adag_version_isset;
-XBT_PUBLIC_DATA(AT_dax__adag_count) AX_dax__adag_count;
-#define A_dax__adag_count (dax__bufferstack + AX_dax__adag_count)
-XBT_PUBLIC_DATA(short int) dax__adag_count_isset;
+XBT_PUBLIC_DATA(AT_dax__uses_optional) AX_dax__uses_optional;
+#define A_dax__uses_optional AX_dax__uses_optional
+XBT_PUBLIC_DATA(short int) dax__uses_optional_isset;
XBT_PUBLIC_DATA(AT_dax__job_level) AX_dax__job_level;
#define A_dax__job_level (dax__bufferstack + AX_dax__job_level)
XBT_PUBLIC_DATA(short int) dax__job_level_isset;
-XBT_PUBLIC_DATA(AT_dax__adag_name) AX_dax__adag_name;
-#define A_dax__adag_name (dax__bufferstack + AX_dax__adag_name)
-XBT_PUBLIC_DATA(short int) dax__adag_name_isset;
-XBT_PUBLIC_DATA(AT_dax__job_version) AX_dax__job_version;
-#define A_dax__job_version (dax__bufferstack + AX_dax__job_version)
-XBT_PUBLIC_DATA(short int) dax__job_version_isset;
XBT_PUBLIC_DATA(AT_dax__job_runtime) AX_dax__job_runtime;
#define A_dax__job_runtime (dax__bufferstack + AX_dax__job_runtime)
XBT_PUBLIC_DATA(short int) dax__job_runtime_isset;
-XBT_PUBLIC_DATA(AT_dax__adag_index) AX_dax__adag_index;
-#define A_dax__adag_index (dax__bufferstack + AX_dax__adag_index)
-XBT_PUBLIC_DATA(short int) dax__adag_index_isset;
-XBT_PUBLIC_DATA(AT_dax__adag_fileCount) AX_dax__adag_fileCount;
-#define A_dax__adag_fileCount (dax__bufferstack + AX_dax__adag_fileCount)
-XBT_PUBLIC_DATA(short int) dax__adag_fileCount_isset;
-XBT_PUBLIC_DATA(AT_dax__uses_register) AX_dax__uses_register;
-#define A_dax__uses_register AX_dax__uses_register
-XBT_PUBLIC_DATA(short int) dax__uses_register_isset;
-XBT_PUBLIC_DATA(AT_dax__uses_file) AX_dax__uses_file;
-#define A_dax__uses_file (dax__bufferstack + AX_dax__uses_file)
-XBT_PUBLIC_DATA(short int) dax__uses_file_isset;
+XBT_PUBLIC_DATA(AT_dax__uses_size) AX_dax__uses_size;
+#define A_dax__uses_size (dax__bufferstack + AX_dax__uses_size)
+XBT_PUBLIC_DATA(short int) dax__uses_size_isset;
+XBT_PUBLIC_DATA(AT_dax__uses_transfer) AX_dax__uses_transfer;
+#define A_dax__uses_transfer AX_dax__uses_transfer
+XBT_PUBLIC_DATA(short int) dax__uses_transfer_isset;
+XBT_PUBLIC_DATA(AT_dax__job_id) AX_dax__job_id;
+#define A_dax__job_id (dax__bufferstack + AX_dax__job_id)
+XBT_PUBLIC_DATA(short int) dax__job_id_isset;
+XBT_PUBLIC_DATA(AT_dax__child_ref) AX_dax__child_ref;
+#define A_dax__child_ref (dax__bufferstack + AX_dax__child_ref)
+XBT_PUBLIC_DATA(short int) dax__child_ref_isset;
XBT_PUBLIC_DATA(AT_dax__uses_link) AX_dax__uses_link;
#define A_dax__uses_link AX_dax__uses_link
XBT_PUBLIC_DATA(short int) dax__uses_link_isset;
/**
* \ingroup simix_host_management
- * \brief Creates an action that executes some computation of an host.
+ * \brief Creates a synchro that executes some computation of an host.
*
* This function creates a SURF action and allocates the data necessary
- * to create the SIMIX action. It can raise a host_error exception if the host crashed.
+ * to create the SIMIX synchro. It can raise a host_error exception if the host crashed.
*
- * \param name Name of the execution action to create
- * \param host SIMIX host where the action will be executed
+ * \param name Name of the execution synchro to create
+ * \param host SIMIX host where the synchro will be executed
* \param computation_amount amount Computation amount (in bytes)
* \param priority computation priority
* \param bound
* \param affinity_mask
- * \return A new SIMIX execution action
+ * \return A new SIMIX execution synchronization
*/
-smx_action_t simcall_host_execute(const char *name, smx_host_t host,
+smx_synchro_t simcall_host_execute(const char *name, smx_host_t host,
double computation_amount,
double priority, double bound, unsigned long affinity_mask)
{
/**
* \ingroup simix_host_management
- * \brief Creates an action that may involve parallel computation on
+ * \brief Creates a synchro that may involve parallel computation on
* several hosts and communication between them.
*
- * \param name Name of the execution action to create
- * \param host_nb Number of hosts where the action will be executed
- * \param host_list Array (of size host_nb) of hosts where the action will be executed
+ * \param name Name of the execution synchro to create
+ * \param host_nb Number of hosts where the synchro will be executed
+ * \param host_list Array (of size host_nb) of hosts where the synchro will be executed
* \param computation_amount Array (of size host_nb) of computation amount of hosts (in bytes)
* \param communication_amount Array (of size host_nb * host_nb) representing the communication
* amount between each pair of hosts
* \param amount the SURF action amount
* \param rate the SURF action rate
- * \return A new SIMIX execution action
+ * \return A new SIMIX execution synchronization
*/
-smx_action_t simcall_host_parallel_execute(const char *name,
+smx_synchro_t simcall_host_parallel_execute(const char *name,
int host_nb,
smx_host_t *host_list,
double *computation_amount,
/**
* \ingroup simix_host_management
- * \brief Destroys an execution action.
+ * \brief Destroys an execution synchro.
*
- * Destroys an action, freing its memory. This function cannot be called if there are a conditional waiting for it.
- * \param execution The execution action to destroy
+ * Destroys a synchro, freeing its memory. This function cannot be called if there are a conditional waiting for it.
+ * \param execution The execution synchro to destroy
*/
-void simcall_host_execution_destroy(smx_action_t execution)
+void simcall_host_execution_destroy(smx_synchro_t execution)
{
simcall_BODY_host_execution_destroy(execution);
}
/**
* \ingroup simix_host_management
- * \brief Cancels an execution action.
+ * \brief Cancels an execution synchro.
*
* This functions stops the execution. It calls a surf function.
- * \param execution The execution action to cancel
+ * \param execution The execution synchro to cancel
*/
-void simcall_host_execution_cancel(smx_action_t execution)
+void simcall_host_execution_cancel(smx_synchro_t execution)
{
simcall_BODY_host_execution_cancel(execution);
}
/**
* \ingroup simix_host_management
- * \brief Returns how much of an execution action remains to be done.
+ * \brief Returns how much of an execution synchro remains to be done.
*
- * \param execution The execution action
+ * \param execution The execution synchro
* \return The remaining amount
*/
-double simcall_host_execution_get_remains(smx_action_t execution)
+double simcall_host_execution_get_remains(smx_synchro_t execution)
{
return simcall_BODY_host_execution_get_remains(execution);
}
/**
* \ingroup simix_host_management
- * \brief Returns the state of an execution action.
+ * \brief Returns the state of an execution synchro.
*
- * \param execution The execution action
+ * \param execution The execution synchro
* \return The state
*/
-e_smx_state_t simcall_host_execution_get_state(smx_action_t execution)
+e_smx_state_t simcall_host_execution_get_state(smx_synchro_t execution)
{
return simcall_BODY_host_execution_get_state(execution);
}
/**
* \ingroup simix_host_management
- * \brief Changes the priority of an execution action.
+ * \brief Changes the priority of an execution synchro.
*
* This functions changes the priority only. It calls a surf function.
- * \param execution The execution action
+ * \param execution The execution synchro
* \param priority The new priority
*/
-void simcall_host_execution_set_priority(smx_action_t execution, double priority)
+void simcall_host_execution_set_priority(smx_synchro_t execution, double priority)
{
/* checking for infinite values */
xbt_assert(isfinite(priority), "priority is not finite!");
/**
* \ingroup simix_host_management
- * \brief Changes the capping (the maximum CPU utilization) of an execution action.
+ * \brief Changes the capping (the maximum CPU utilization) of an execution synchro.
*
* This functions changes the capping only. It calls a surf function.
- * \param execution The execution action
+ * \param execution The execution synchro
* \param bound The new bound
*/
-void simcall_host_execution_set_bound(smx_action_t execution, double bound)
+void simcall_host_execution_set_bound(smx_synchro_t execution, double bound)
{
simcall_BODY_host_execution_set_bound(execution, bound);
}
/**
* \ingroup simix_host_management
- * \brief Changes the CPU affinity of an execution action.
+ * \brief Changes the CPU affinity of an execution synchro.
*
- * This functions changes the CPU affinity of an execution action. See taskset(1) on Linux.
- * \param execution The execution action
+ * This functions changes the CPU affinity of an execution synchro. See taskset(1) on Linux.
+ * \param execution The execution synchro
* \param host Host
* \param mask Affinity mask
*/
-void simcall_host_execution_set_affinity(smx_action_t execution, smx_host_t host, unsigned long mask)
+void simcall_host_execution_set_affinity(smx_synchro_t execution, smx_host_t host, unsigned long mask)
{
simcall_BODY_host_execution_set_affinity(execution, host, mask);
}
/**
* \ingroup simix_host_management
- * \brief Waits for the completion of an execution action and destroy it.
+ * \brief Waits for the completion of an execution synchro and destroy it.
*
- * \param execution The execution action
+ * \param execution The execution synchro
*/
-e_smx_state_t simcall_host_execution_wait(smx_action_t execution)
+e_smx_state_t simcall_host_execution_wait(smx_synchro_t execution)
{
return simcall_BODY_host_execution_wait(execution);
}
* \ingroup simix_process_management
* \brief Suspends a process.
*
- * This function suspends the process by suspending the action
+ * This function suspends the process by suspending the synchro
* it was waiting for completion.
*
* \param process a SIMIX process
* \ingroup simix_process_management
* \brief Resumes a suspended process.
*
- * This function resumes a suspended process by resuming the action
+ * This function resumes a suspended process by resuming the synchro
* it was waiting for completion.
*
* \param process a SIMIX process
}
/**
* \ingroup simix_process_management
- * \brief Creates a new sleep SIMIX action.
+ * \brief Creates a new sleep SIMIX synchro.
*
* This function creates a SURF action and allocates the data necessary
- * to create the SIMIX action. It can raise a host_error exception if the
- * host crashed. The default SIMIX name of the action is "sleep".
+ * to create the SIMIX synchro. It can raise a host_error exception if the
+ * host crashed. The default SIMIX name of the synchro is "sleep".
*
* \param duration Time duration of the sleep.
* \return A result telling whether the sleep was successful
/**
* \ingroup simix_rdv_management
- * \brief Counts the number of communication actions of a given host pending
+ * \brief Counts the number of communication synchros of a given host pending
* on a rendez-vous point.
* \param rdv The rendez-vous point
* \param host The host to be counted
- * \return The number of comm actions pending in the rdv
+ * \return The number of comm synchros pending in the rdv
*/
int simcall_rdv_comm_count_by_host(smx_rdv_t rdv, smx_host_t host)
{
* \param rdv The rendez-vous point
* \return The communication or NULL if empty
*/
-smx_action_t simcall_rdv_get_head(smx_rdv_t rdv)
+smx_synchro_t simcall_rdv_get_head(smx_rdv_t rdv)
{
return simcall_BODY_rdv_get_head(rdv);
}
*/
void simcall_comm_send(smx_process_t src, smx_rdv_t rdv, double task_size, double rate,
void *src_buff, size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t), void *data,
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t), void *data,
double timeout)
{
/* checking for infinite values */
if (MC_is_active()) {
/* the model-checker wants two separate simcalls */
- smx_action_t comm = NULL; /* MC needs the comm to be set to NULL during the simcall */
+ smx_synchro_t comm = NULL; /* MC needs the comm to be set to NULL during the simcall */
comm = simcall_comm_isend(src, rdv, task_size, rate,
src_buff, src_buff_size, match_fun, NULL, copy_data_fun, data, 0);
simcall_comm_wait(comm, timeout);
/**
* \ingroup simix_comm_management
*/
-smx_action_t simcall_comm_isend(smx_process_t src, smx_rdv_t rdv, double task_size, double rate,
+smx_synchro_t simcall_comm_isend(smx_process_t src, smx_rdv_t rdv, double task_size, double rate,
void *src_buff, size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
void (*clean_fun)(void *),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data,
int detached)
{
* \ingroup simix_comm_management
*/
void simcall_comm_recv(smx_rdv_t rdv, void *dst_buff, size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double timeout, double rate)
{
xbt_assert(isfinite(timeout), "timeout is not finite!");
if (MC_is_active()) {
/* the model-checker wants two separate simcalls */
- smx_action_t comm = NULL; /* MC needs the comm to be set to NULL during the simcall */
+ smx_synchro_t comm = NULL; /* MC needs the comm to be set to NULL during the simcall */
comm = simcall_comm_irecv(rdv, dst_buff, dst_buff_size,
match_fun, copy_data_fun, data, rate);
simcall_comm_wait(comm, timeout);
/**
* \ingroup simix_comm_management
*/
-smx_action_t simcall_comm_irecv(smx_rdv_t rdv, void *dst_buff, size_t *dst_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+smx_synchro_t simcall_comm_irecv(smx_rdv_t rdv, void *dst_buff, size_t *dst_buff_size,
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double rate)
{
xbt_assert(rdv, "No rendez-vous point defined for irecv");
/**
* \ingroup simix_comm_management
*/
-smx_action_t simcall_comm_iprobe(smx_rdv_t rdv, int type, int src, int tag,
- int (*match_fun)(void *, void *, smx_action_t), void *data)
+smx_synchro_t simcall_comm_iprobe(smx_rdv_t rdv, int type, int src, int tag,
+ int (*match_fun)(void *, void *, smx_synchro_t), void *data)
{
xbt_assert(rdv, "No rendez-vous point defined for iprobe");
/**
* \ingroup simix_comm_management
*/
-void simcall_comm_cancel(smx_action_t comm)
+void simcall_comm_cancel(smx_synchro_t comm)
{
simcall_BODY_comm_cancel(comm);
}
/**
* \ingroup simix_comm_management
*/
-void simcall_comm_wait(smx_action_t comm, double timeout)
+void simcall_comm_wait(smx_synchro_t comm, double timeout)
{
xbt_assert(isfinite(timeout), "timeout is not finite!");
simcall_BODY_comm_wait(comm, timeout);
#ifdef HAVE_TRACING
/**
- * \brief Set the category of an action.
+ * \brief Set the category of an synchro.
*
* This functions changes the category only. It calls a surf function.
- * \param execution The execution action
+ * \param execution The execution synchro
* \param category The tracing category
*/
-void simcall_set_category(smx_action_t action, const char *category)
+void simcall_set_category(smx_synchro_t synchro, const char *category)
{
if (category == NULL) {
return;
}
- simcall_BODY_set_category(action, category);
+ simcall_BODY_set_category(synchro, category);
}
#endif
* \ingroup simix_comm_management
*
*/
-int simcall_comm_test(smx_action_t comm)
+int simcall_comm_test(smx_synchro_t comm)
{
return simcall_BODY_comm_test(comm);
}
* \ingroup simix_comm_management
*
*/
-double simcall_comm_get_remains(smx_action_t comm)
+double simcall_comm_get_remains(smx_synchro_t comm)
{
return simcall_BODY_comm_get_remains(comm);
}
* \ingroup simix_comm_management
*
*/
-e_smx_state_t simcall_comm_get_state(smx_action_t comm)
+e_smx_state_t simcall_comm_get_state(smx_synchro_t comm)
{
return simcall_BODY_comm_get_state(comm);
}
* \ingroup simix_comm_management
*
*/
-void *simcall_comm_get_src_data(smx_action_t comm)
+void *simcall_comm_get_src_data(smx_synchro_t comm)
{
return simcall_BODY_comm_get_src_data(comm);
}
* \ingroup simix_comm_management
*
*/
-void *simcall_comm_get_dst_data(smx_action_t comm)
+void *simcall_comm_get_dst_data(smx_synchro_t comm)
{
return simcall_BODY_comm_get_dst_data(comm);
}
* \ingroup simix_comm_management
*
*/
-smx_process_t simcall_comm_get_src_proc(smx_action_t comm)
+smx_process_t simcall_comm_get_src_proc(smx_synchro_t comm)
{
return simcall_BODY_comm_get_src_proc(comm);
}
* \ingroup simix_comm_management
*
*/
-smx_process_t simcall_comm_get_dst_proc(smx_action_t comm)
+smx_process_t simcall_comm_get_dst_proc(smx_synchro_t comm)
{
return simcall_BODY_comm_get_dst_proc(comm);
}
#ifdef HAVE_LATENCY_BOUND_TRACKING
-int simcall_comm_is_latency_bounded(smx_action_t comm)
+int simcall_comm_is_latency_bounded(smx_synchro_t comm)
{
return simcall_BODY_comm_is_latency_bounded(comm);
}
}
}
-void SIMIX_simcall_exit(smx_action_t action)
+void SIMIX_simcall_exit(smx_synchro_t synchro)
{
- switch (action->type) {
+ switch (synchro->type) {
- case SIMIX_ACTION_EXECUTE:
- case SIMIX_ACTION_PARALLEL_EXECUTE:
- SIMIX_post_host_execute(action);
+ case SIMIX_SYNC_EXECUTE:
+ case SIMIX_SYNC_PARALLEL_EXECUTE:
+ SIMIX_post_host_execute(synchro);
break;
- case SIMIX_ACTION_COMMUNICATE:
- SIMIX_post_comm(action);
+ case SIMIX_SYNC_COMMUNICATE:
+ SIMIX_post_comm(synchro);
break;
- case SIMIX_ACTION_SLEEP:
- SIMIX_post_process_sleep(action);
+ case SIMIX_SYNC_SLEEP:
+ SIMIX_post_process_sleep(synchro);
break;
- case SIMIX_ACTION_JOIN:
- SIMIX_post_process_sleep(action);
+ case SIMIX_SYNC_JOIN:
+ SIMIX_post_process_sleep(synchro);
break;
- case SIMIX_ACTION_SYNCHRO:
- SIMIX_post_synchro(action);
+ case SIMIX_SYNC_SYNCHRO:
+ SIMIX_post_synchro(synchro);
break;
- case SIMIX_ACTION_IO:
- SIMIX_post_io(action);
+ case SIMIX_SYNC_IO:
+ SIMIX_post_io(synchro);
break;
}
}
static inline void simcall_host_execute__set__affinity_mask(smx_simcall_t simcall, unsigned long arg) {
simcall->args[5].ul = arg;
}
-static inline smx_action_t simcall_host_execute__get__result(smx_simcall_t simcall){
- return (smx_action_t) simcall->result.dp;
+static inline smx_synchro_t simcall_host_execute__get__result(smx_simcall_t simcall){
+ return (smx_synchro_t) simcall->result.dp;
}
static inline void simcall_host_execute__set__result(smx_simcall_t simcall, void* result){
simcall->result.dp = result;
static inline void simcall_host_parallel_execute__set__rate(smx_simcall_t simcall, double arg) {
simcall->args[6].d = arg;
}
-static inline smx_action_t simcall_host_parallel_execute__get__result(smx_simcall_t simcall){
- return (smx_action_t) simcall->result.dp;
+static inline smx_synchro_t simcall_host_parallel_execute__get__result(smx_simcall_t simcall){
+ return (smx_synchro_t) simcall->result.dp;
}
static inline void simcall_host_parallel_execute__set__result(smx_simcall_t simcall, void* result){
simcall->result.dp = result;
}
-static inline smx_action_t simcall_host_execution_destroy__get__execution(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_host_execution_destroy__get__execution(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_host_execution_destroy__set__execution(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
}
-static inline smx_action_t simcall_host_execution_cancel__get__execution(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_host_execution_cancel__get__execution(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_host_execution_cancel__set__execution(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
}
-static inline smx_action_t simcall_host_execution_get_remains__get__execution(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_host_execution_get_remains__get__execution(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_host_execution_get_remains__set__execution(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.d = result;
}
-static inline smx_action_t simcall_host_execution_get_state__get__execution(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_host_execution_get_state__get__execution(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_host_execution_get_state__set__execution(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.i = result;
}
-static inline smx_action_t simcall_host_execution_set_priority__get__execution(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_host_execution_set_priority__get__execution(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_host_execution_set_priority__set__execution(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->args[1].d = arg;
}
-static inline smx_action_t simcall_host_execution_set_bound__get__execution(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_host_execution_set_bound__get__execution(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_host_execution_set_bound__set__execution(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->args[1].d = arg;
}
-static inline smx_action_t simcall_host_execution_set_affinity__get__execution(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_host_execution_set_affinity__get__execution(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_host_execution_set_affinity__set__execution(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->args[2].ul = arg;
}
-static inline smx_action_t simcall_host_execution_wait__get__execution(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_host_execution_wait__get__execution(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_host_execution_wait__set__execution(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
static inline void simcall_rdv_get_head__set__rdv(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
}
-static inline smx_action_t simcall_rdv_get_head__get__result(smx_simcall_t simcall){
- return (smx_action_t) simcall->result.dp;
+static inline smx_synchro_t simcall_rdv_get_head__get__result(smx_simcall_t simcall){
+ return (smx_synchro_t) simcall->result.dp;
}
static inline void simcall_rdv_get_head__set__result(smx_simcall_t simcall, void* result){
simcall->result.dp = result;
static inline void simcall_comm_iprobe__set__data(smx_simcall_t simcall, void* arg) {
simcall->args[5].dp = arg;
}
-static inline smx_action_t simcall_comm_iprobe__get__result(smx_simcall_t simcall){
- return (smx_action_t) simcall->result.dp;
+static inline smx_synchro_t simcall_comm_iprobe__get__result(smx_simcall_t simcall){
+ return (smx_synchro_t) simcall->result.dp;
}
static inline void simcall_comm_iprobe__set__result(smx_simcall_t simcall, void* result){
simcall->result.dp = result;
static inline void simcall_comm_isend__set__detached(smx_simcall_t simcall, int arg) {
simcall->args[10].i = arg;
}
-static inline smx_action_t simcall_comm_isend__get__result(smx_simcall_t simcall){
- return (smx_action_t) simcall->result.dp;
+static inline smx_synchro_t simcall_comm_isend__get__result(smx_simcall_t simcall){
+ return (smx_synchro_t) simcall->result.dp;
}
static inline void simcall_comm_isend__set__result(smx_simcall_t simcall, void* result){
simcall->result.dp = result;
static inline void simcall_comm_irecv__set__rate(smx_simcall_t simcall, double arg) {
simcall->args[6].d = arg;
}
-static inline smx_action_t simcall_comm_irecv__get__result(smx_simcall_t simcall){
- return (smx_action_t) simcall->result.dp;
+static inline smx_synchro_t simcall_comm_irecv__get__result(smx_simcall_t simcall){
+ return (smx_synchro_t) simcall->result.dp;
}
static inline void simcall_comm_irecv__set__result(smx_simcall_t simcall, void* result){
simcall->result.dp = result;
}
-static inline smx_action_t simcall_comm_cancel__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_cancel__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_cancel__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.i = result;
}
-static inline smx_action_t simcall_comm_wait__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_wait__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_wait__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->args[1].d = arg;
}
-static inline smx_action_t simcall_comm_test__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_test__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_test__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.i = result;
}
-static inline smx_action_t simcall_comm_get_remains__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_get_remains__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_get_remains__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.d = result;
}
-static inline smx_action_t simcall_comm_get_state__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_get_state__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_get_state__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.i = result;
}
-static inline smx_action_t simcall_comm_get_src_data__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_get_src_data__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_get_src_data__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.dp = result;
}
-static inline smx_action_t simcall_comm_get_dst_data__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_get_dst_data__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_get_dst_data__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.dp = result;
}
-static inline smx_action_t simcall_comm_get_src_proc__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_get_src_proc__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_get_src_proc__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
simcall->result.dp = result;
}
-static inline smx_action_t simcall_comm_get_dst_proc__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_get_dst_proc__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_get_dst_proc__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
}
#ifdef HAVE_LATENCY_BOUND_TRACKING
-static inline smx_action_t simcall_comm_is_latency_bounded__get__comm(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_comm_is_latency_bounded__get__comm(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
static inline void simcall_comm_is_latency_bounded__set__comm(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
#ifdef HAVE_TRACING
-static inline smx_action_t simcall_set_category__get__action(smx_simcall_t simcall) {
- return (smx_action_t) simcall->args[0].dp;
+static inline smx_synchro_t simcall_set_category__get__synchro(smx_simcall_t simcall) {
+ return (smx_synchro_t) simcall->args[0].dp;
}
-static inline void simcall_set_category__set__action(smx_simcall_t simcall, void* arg) {
+static inline void simcall_set_category__set__synchro(smx_simcall_t simcall, void* arg) {
simcall->args[0].dp = arg;
}
static inline const char* simcall_set_category__get__category(smx_simcall_t simcall) {
int simcall_HANDLER_host_get_nb_pstates(smx_simcall_t simcall, smx_host_t host);
void simcall_HANDLER_host_set_power_peak_at(smx_simcall_t simcall, smx_host_t host, int pstate_index);
double simcall_HANDLER_host_get_consumed_energy(smx_simcall_t simcall, smx_host_t host);
-smx_action_t simcall_HANDLER_host_execute(smx_simcall_t simcall, const char* name, smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask);
-smx_action_t simcall_HANDLER_host_parallel_execute(smx_simcall_t simcall, const char* name, int host_nb, smx_host_t* host_list, double* computation_amount, double* communication_amount, double amount, double rate);
-void simcall_HANDLER_host_execution_destroy(smx_simcall_t simcall, smx_action_t execution);
-void simcall_HANDLER_host_execution_cancel(smx_simcall_t simcall, smx_action_t execution);
-double simcall_HANDLER_host_execution_get_remains(smx_simcall_t simcall, smx_action_t execution);
-e_smx_state_t simcall_HANDLER_host_execution_get_state(smx_simcall_t simcall, smx_action_t execution);
-void simcall_HANDLER_host_execution_set_priority(smx_simcall_t simcall, smx_action_t execution, double priority);
-void simcall_HANDLER_host_execution_set_bound(smx_simcall_t simcall, smx_action_t execution, double bound);
-void simcall_HANDLER_host_execution_set_affinity(smx_simcall_t simcall, smx_action_t execution, smx_host_t ws, unsigned long mask);
-void simcall_HANDLER_host_execution_wait(smx_simcall_t simcall, smx_action_t execution);
+smx_synchro_t simcall_HANDLER_host_execute(smx_simcall_t simcall, const char* name, smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask);
+smx_synchro_t simcall_HANDLER_host_parallel_execute(smx_simcall_t simcall, const char* name, int host_nb, smx_host_t* host_list, double* computation_amount, double* communication_amount, double amount, double rate);
+void simcall_HANDLER_host_execution_destroy(smx_simcall_t simcall, smx_synchro_t execution);
+void simcall_HANDLER_host_execution_cancel(smx_simcall_t simcall, smx_synchro_t execution);
+double simcall_HANDLER_host_execution_get_remains(smx_simcall_t simcall, smx_synchro_t execution);
+e_smx_state_t simcall_HANDLER_host_execution_get_state(smx_simcall_t simcall, smx_synchro_t execution);
+void simcall_HANDLER_host_execution_set_priority(smx_simcall_t simcall, smx_synchro_t execution, double priority);
+void simcall_HANDLER_host_execution_set_bound(smx_simcall_t simcall, smx_synchro_t execution, double bound);
+void simcall_HANDLER_host_execution_set_affinity(smx_simcall_t simcall, smx_synchro_t execution, smx_host_t ws, unsigned long mask);
+void simcall_HANDLER_host_execution_wait(smx_simcall_t simcall, smx_synchro_t execution);
xbt_dict_t simcall_HANDLER_host_get_mounted_storage_list(smx_simcall_t simcall, smx_host_t host);
xbt_dynar_t simcall_HANDLER_host_get_attached_storage_list(smx_simcall_t simcall, smx_host_t host);
void simcall_HANDLER_host_get_params(smx_simcall_t simcall, smx_host_t ind_vm, ws_params_t params);
smx_rdv_t simcall_HANDLER_rdv_create(smx_simcall_t simcall, const char* name);
void simcall_HANDLER_rdv_destroy(smx_simcall_t simcall, smx_rdv_t rdv);
unsigned int simcall_HANDLER_rdv_comm_count_by_host(smx_simcall_t simcall, smx_rdv_t rdv, smx_host_t host);
-smx_action_t simcall_HANDLER_rdv_get_head(smx_simcall_t simcall, smx_rdv_t rdv);
+smx_synchro_t simcall_HANDLER_rdv_get_head(smx_simcall_t simcall, smx_rdv_t rdv);
void simcall_HANDLER_rdv_set_receiver(smx_simcall_t simcall, smx_rdv_t rdv, smx_process_t receiver);
smx_process_t simcall_HANDLER_rdv_get_receiver(smx_simcall_t simcall, smx_rdv_t rdv);
-smx_action_t simcall_HANDLER_comm_iprobe(smx_simcall_t simcall, smx_rdv_t rdv, int type, int src, int tag, simix_match_func_t match_fun, void* data);
+smx_synchro_t simcall_HANDLER_comm_iprobe(smx_simcall_t simcall, smx_rdv_t rdv, int type, int src, int tag, simix_match_func_t match_fun, void* data);
void simcall_HANDLER_comm_send(smx_simcall_t simcall, smx_process_t src, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double timeout);
-smx_action_t simcall_HANDLER_comm_isend(smx_simcall_t simcall, smx_process_t src, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_clean_func_t clean_fun, simix_copy_data_func_t copy_data_fun, void* data, int detached);
+smx_synchro_t simcall_HANDLER_comm_isend(smx_simcall_t simcall, smx_process_t src, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_clean_func_t clean_fun, simix_copy_data_func_t copy_data_fun, void* data, int detached);
void simcall_HANDLER_comm_recv(smx_simcall_t simcall, smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double timeout, double rate);
-smx_action_t simcall_HANDLER_comm_irecv(smx_simcall_t simcall, smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double rate);
-void simcall_HANDLER_comm_cancel(smx_simcall_t simcall, smx_action_t comm);
+smx_synchro_t simcall_HANDLER_comm_irecv(smx_simcall_t simcall, smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double rate);
+void simcall_HANDLER_comm_cancel(smx_simcall_t simcall, smx_synchro_t comm);
void simcall_HANDLER_comm_waitany(smx_simcall_t simcall, xbt_dynar_t comms);
-void simcall_HANDLER_comm_wait(smx_simcall_t simcall, smx_action_t comm, double timeout);
-void simcall_HANDLER_comm_test(smx_simcall_t simcall, smx_action_t comm);
+void simcall_HANDLER_comm_wait(smx_simcall_t simcall, smx_synchro_t comm, double timeout);
+void simcall_HANDLER_comm_test(smx_simcall_t simcall, smx_synchro_t comm);
void simcall_HANDLER_comm_testany(smx_simcall_t simcall, xbt_dynar_t comms);
-double simcall_HANDLER_comm_get_remains(smx_simcall_t simcall, smx_action_t comm);
-e_smx_state_t simcall_HANDLER_comm_get_state(smx_simcall_t simcall, smx_action_t comm);
-void* simcall_HANDLER_comm_get_src_data(smx_simcall_t simcall, smx_action_t comm);
-void* simcall_HANDLER_comm_get_dst_data(smx_simcall_t simcall, smx_action_t comm);
-smx_process_t simcall_HANDLER_comm_get_src_proc(smx_simcall_t simcall, smx_action_t comm);
-smx_process_t simcall_HANDLER_comm_get_dst_proc(smx_simcall_t simcall, smx_action_t comm);
+double simcall_HANDLER_comm_get_remains(smx_simcall_t simcall, smx_synchro_t comm);
+e_smx_state_t simcall_HANDLER_comm_get_state(smx_simcall_t simcall, smx_synchro_t comm);
+void* simcall_HANDLER_comm_get_src_data(smx_simcall_t simcall, smx_synchro_t comm);
+void* simcall_HANDLER_comm_get_dst_data(smx_simcall_t simcall, smx_synchro_t comm);
+smx_process_t simcall_HANDLER_comm_get_src_proc(smx_simcall_t simcall, smx_synchro_t comm);
+smx_process_t simcall_HANDLER_comm_get_dst_proc(smx_simcall_t simcall, smx_synchro_t comm);
smx_mutex_t simcall_HANDLER_mutex_init(smx_simcall_t simcall);
void simcall_HANDLER_mutex_destroy(smx_simcall_t simcall, smx_mutex_t mutex);
void simcall_HANDLER_mutex_lock(smx_simcall_t simcall, smx_mutex_t mutex);
xbt_dict_t simcall_HANDLER_storage_get_content(smx_simcall_t simcall, smx_storage_t storage);
xbt_dict_t simcall_HANDLER_asr_get_properties(smx_simcall_t simcall, const char* name);
#ifdef HAVE_LATENCY_BOUND_TRACKING
-int simcall_HANDLER_comm_is_latency_bounded(smx_simcall_t simcall, smx_action_t comm);
+int simcall_HANDLER_comm_is_latency_bounded(smx_simcall_t simcall, smx_synchro_t comm);
#endif
#ifdef HAVE_TRACING
-void simcall_HANDLER_set_category(smx_simcall_t simcall, smx_action_t action, const char* category);
+void simcall_HANDLER_set_category(smx_simcall_t simcall, smx_synchro_t synchro, const char* category);
#endif
#ifdef HAVE_MC
return self->simcall.result.d;
}
-inline static smx_action_t simcall_BODY_host_execute(const char* name, smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask) {
+inline static smx_synchro_t simcall_BODY_host_execute(const char* name, smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.dp;
}
-inline static smx_action_t simcall_BODY_host_parallel_execute(const char* name, int host_nb, smx_host_t* host_list, double* computation_amount, double* communication_amount, double amount, double rate) {
+inline static smx_synchro_t simcall_BODY_host_parallel_execute(const char* name, int host_nb, smx_host_t* host_list, double* computation_amount, double* communication_amount, double amount, double rate) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.dp;
}
-inline static void simcall_BODY_host_execution_destroy(smx_action_t execution) {
+inline static void simcall_BODY_host_execution_destroy(smx_synchro_t execution) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
-inline static void simcall_BODY_host_execution_cancel(smx_action_t execution) {
+inline static void simcall_BODY_host_execution_cancel(smx_synchro_t execution) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
-inline static double simcall_BODY_host_execution_get_remains(smx_action_t execution) {
+inline static double simcall_BODY_host_execution_get_remains(smx_synchro_t execution) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.d;
}
-inline static e_smx_state_t simcall_BODY_host_execution_get_state(smx_action_t execution) {
+inline static e_smx_state_t simcall_BODY_host_execution_get_state(smx_synchro_t execution) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.i;
}
-inline static void simcall_BODY_host_execution_set_priority(smx_action_t execution, double priority) {
+inline static void simcall_BODY_host_execution_set_priority(smx_synchro_t execution, double priority) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
-inline static void simcall_BODY_host_execution_set_bound(smx_action_t execution, double bound) {
+inline static void simcall_BODY_host_execution_set_bound(smx_synchro_t execution, double bound) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
-inline static void simcall_BODY_host_execution_set_affinity(smx_action_t execution, smx_host_t ws, unsigned long mask) {
+inline static void simcall_BODY_host_execution_set_affinity(smx_synchro_t execution, smx_host_t ws, unsigned long mask) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
-inline static int simcall_BODY_host_execution_wait(smx_action_t execution) {
+inline static int simcall_BODY_host_execution_wait(smx_synchro_t execution) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.ui;
}
-inline static smx_action_t simcall_BODY_rdv_get_head(smx_rdv_t rdv) {
+inline static smx_synchro_t simcall_BODY_rdv_get_head(smx_rdv_t rdv) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.dp;
}
-inline static smx_action_t simcall_BODY_comm_iprobe(smx_rdv_t rdv, int type, int src, int tag, simix_match_func_t match_fun, void* data) {
+inline static smx_synchro_t simcall_BODY_comm_iprobe(smx_rdv_t rdv, int type, int src, int tag, simix_match_func_t match_fun, void* data) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
-inline static smx_action_t simcall_BODY_comm_isend(smx_process_t src, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_clean_func_t clean_fun, simix_copy_data_func_t copy_data_fun, void* data, int detached) {
+inline static smx_synchro_t simcall_BODY_comm_isend(smx_process_t src, smx_rdv_t rdv, double task_size, double rate, void* src_buff, size_t src_buff_size, simix_match_func_t match_fun, simix_clean_func_t clean_fun, simix_copy_data_func_t copy_data_fun, void* data, int detached) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
-inline static smx_action_t simcall_BODY_comm_irecv(smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double rate) {
+inline static smx_synchro_t simcall_BODY_comm_irecv(smx_rdv_t rdv, void* dst_buff, size_t* dst_buff_size, simix_match_func_t match_fun, simix_copy_data_func_t copy_data_fun, void* data, double rate) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.dp;
}
-inline static void simcall_BODY_comm_cancel(smx_action_t comm) {
+inline static void simcall_BODY_comm_cancel(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.i;
}
-inline static void simcall_BODY_comm_wait(smx_action_t comm, double timeout) {
+inline static void simcall_BODY_comm_wait(smx_synchro_t comm, double timeout) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
-inline static int simcall_BODY_comm_test(smx_action_t comm) {
+inline static int simcall_BODY_comm_test(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.i;
}
-inline static double simcall_BODY_comm_get_remains(smx_action_t comm) {
+inline static double simcall_BODY_comm_get_remains(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.d;
}
-inline static e_smx_state_t simcall_BODY_comm_get_state(smx_action_t comm) {
+inline static e_smx_state_t simcall_BODY_comm_get_state(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.i;
}
-inline static void* simcall_BODY_comm_get_src_data(smx_action_t comm) {
+inline static void* simcall_BODY_comm_get_src_data(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.dp;
}
-inline static void* simcall_BODY_comm_get_dst_data(smx_action_t comm) {
+inline static void* simcall_BODY_comm_get_dst_data(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.dp;
}
-inline static smx_process_t simcall_BODY_comm_get_src_proc(smx_action_t comm) {
+inline static smx_process_t simcall_BODY_comm_get_src_proc(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
return self->simcall.result.dp;
}
-inline static smx_process_t simcall_BODY_comm_get_dst_proc(smx_action_t comm) {
+inline static smx_process_t simcall_BODY_comm_get_dst_proc(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
}
#ifdef HAVE_LATENCY_BOUND_TRACKING
-inline static int simcall_BODY_comm_is_latency_bounded(smx_action_t comm) {
+inline static int simcall_BODY_comm_is_latency_bounded(smx_synchro_t comm) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
#ifdef HAVE_TRACING
-inline static void simcall_BODY_set_category(smx_action_t action, const char* category) {
+inline static void simcall_BODY_set_category(smx_synchro_t synchro, const char* category) {
smx_process_t self = SIMIX_process_self();
/* Go to that function to follow the code flow through the simcall barrier */
- if (0) simcall_HANDLER_set_category(&self->simcall, action, category);
+ if (0) simcall_HANDLER_set_category(&self->simcall, synchro, category);
/* end of the guide intended to the poor programmer wanting to go from MSG to Surf */
self->simcall.call = SIMCALL_SET_CATEGORY;
memset(&self->simcall.result, 0, sizeof(self->simcall.result));
memset(self->simcall.args, 0, sizeof(self->simcall.args));
- self->simcall.args[0].dp = (void*) action;
+ self->simcall.args[0].dp = (void*) synchro;
self->simcall.args[1].cc = (const char*) category;
if (self != simix_global->maestro_process) {
XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name,
break;
case SIMCALL_HOST_EXECUTION_DESTROY:
- simcall_HANDLER_host_execution_destroy(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall_HANDLER_host_execution_destroy(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_HOST_EXECUTION_CANCEL:
- simcall_HANDLER_host_execution_cancel(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall_HANDLER_host_execution_cancel(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_HOST_EXECUTION_GET_REMAINS:
- simcall->result.d = simcall_HANDLER_host_execution_get_remains(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.d = simcall_HANDLER_host_execution_get_remains(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_HOST_EXECUTION_GET_STATE:
- simcall->result.i = simcall_HANDLER_host_execution_get_state(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.i = simcall_HANDLER_host_execution_get_state(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_HOST_EXECUTION_SET_PRIORITY:
- simcall_HANDLER_host_execution_set_priority(simcall , (smx_action_t) simcall->args[0].dp, simcall->args[1].d);
+ simcall_HANDLER_host_execution_set_priority(simcall , (smx_synchro_t) simcall->args[0].dp, simcall->args[1].d);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_HOST_EXECUTION_SET_BOUND:
- simcall_HANDLER_host_execution_set_bound(simcall , (smx_action_t) simcall->args[0].dp, simcall->args[1].d);
+ simcall_HANDLER_host_execution_set_bound(simcall , (smx_synchro_t) simcall->args[0].dp, simcall->args[1].d);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_HOST_EXECUTION_SET_AFFINITY:
- simcall_HANDLER_host_execution_set_affinity(simcall , (smx_action_t) simcall->args[0].dp, (smx_host_t) simcall->args[1].dp, simcall->args[2].ul);
+ simcall_HANDLER_host_execution_set_affinity(simcall , (smx_synchro_t) simcall->args[0].dp, (smx_host_t) simcall->args[1].dp, simcall->args[2].ul);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_HOST_EXECUTION_WAIT:
- simcall_HANDLER_host_execution_wait(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall_HANDLER_host_execution_wait(simcall , (smx_synchro_t) simcall->args[0].dp);
break;
case SIMCALL_HOST_GET_MOUNTED_STORAGE_LIST:
break;
case SIMCALL_COMM_CANCEL:
- simcall_HANDLER_comm_cancel(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall_HANDLER_comm_cancel(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
break;
case SIMCALL_COMM_WAIT:
- simcall_HANDLER_comm_wait(simcall , (smx_action_t) simcall->args[0].dp, simcall->args[1].d);
+ simcall_HANDLER_comm_wait(simcall , (smx_synchro_t) simcall->args[0].dp, simcall->args[1].d);
break;
case SIMCALL_COMM_TEST:
- simcall_HANDLER_comm_test(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall_HANDLER_comm_test(simcall , (smx_synchro_t) simcall->args[0].dp);
break;
case SIMCALL_COMM_TESTANY:
break;
case SIMCALL_COMM_GET_REMAINS:
- simcall->result.d = simcall_HANDLER_comm_get_remains(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.d = simcall_HANDLER_comm_get_remains(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_COMM_GET_STATE:
- simcall->result.i = simcall_HANDLER_comm_get_state(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.i = simcall_HANDLER_comm_get_state(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_COMM_GET_SRC_DATA:
- simcall->result.dp = simcall_HANDLER_comm_get_src_data(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.dp = simcall_HANDLER_comm_get_src_data(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_COMM_GET_DST_DATA:
- simcall->result.dp = simcall_HANDLER_comm_get_dst_data(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.dp = simcall_HANDLER_comm_get_dst_data(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_COMM_GET_SRC_PROC:
- simcall->result.dp = simcall_HANDLER_comm_get_src_proc(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.dp = simcall_HANDLER_comm_get_src_proc(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
case SIMCALL_COMM_GET_DST_PROC:
- simcall->result.dp = simcall_HANDLER_comm_get_dst_proc(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.dp = simcall_HANDLER_comm_get_dst_proc(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
#ifdef HAVE_LATENCY_BOUND_TRACKING
case SIMCALL_COMM_IS_LATENCY_BOUNDED:
- simcall->result.i = simcall_HANDLER_comm_is_latency_bounded(simcall , (smx_action_t) simcall->args[0].dp);
+ simcall->result.i = simcall_HANDLER_comm_is_latency_bounded(simcall , (smx_synchro_t) simcall->args[0].dp);
SIMIX_simcall_answer(simcall);
break;
#ifdef HAVE_TRACING
case SIMCALL_SET_CATEGORY:
- simcall_HANDLER_set_category(simcall , (smx_action_t) simcall->args[0].dp, simcall->args[1].cc);
+ simcall_HANDLER_set_category(simcall , (smx_synchro_t) simcall->args[0].dp, simcall->args[1].cc);
SIMIX_simcall_answer(simcall);
break;
#include "popping_enum.h" /* Definition of e_smx_simcall_t, with one value per simcall */
#include "mc/mc_interface.h" /* Definition of mc_snapshot_t, used by one simcall */
-typedef int (*simix_match_func_t)(void *, void *, smx_action_t);
-typedef void (*simix_copy_data_func_t)(smx_action_t, void*, size_t);
+typedef int (*simix_match_func_t)(void *, void *, smx_synchro_t);
+typedef void (*simix_copy_data_func_t)(smx_synchro_t, void*, size_t);
typedef void (*simix_clean_func_t)(void *);
typedef void (*FPtr)(void); // Hide the ugliness
void SIMIX_simcall_answer(smx_simcall_t);
void SIMIX_simcall_handle(smx_simcall_t, int);
-void SIMIX_simcall_exit(smx_action_t);
+void SIMIX_simcall_exit(smx_synchro_t);
const char *SIMIX_simcall_name(e_smx_simcall_t kind);
SG_END_DECL()
Func host_get_nb_pstates (int) (host, void*, smx_host_t)
Proc host_set_power_peak_at (void) (host, void*, smx_host_t) (pstate_index, int)
Func host_get_consumed_energy (double) (host, void*, smx_host_t)
-Func host_execute (void*, smx_action_t) (name, const char*) (host, void*, smx_host_t) (computation_amount, double) (priority, double) (bound, double) (affinity_mask, unsigned long)
-Func host_parallel_execute (void*, smx_action_t) (name, const char*) (host_nb, int) (host_list, void*, smx_host_t*) (computation_amount, void*, double*) (communication_amount, void*, double*) (amount, double) (rate, double)
-Proc host_execution_destroy (void) (execution, void*, smx_action_t)
-Proc host_execution_cancel (void) (execution, void*, smx_action_t)
-Func host_execution_get_remains (double) (execution, void*, smx_action_t)
-Func host_execution_get_state (int, e_smx_state_t) (execution, void*, smx_action_t)
-Proc host_execution_set_priority (void) (execution, void*, smx_action_t) (priority, double)
-Proc host_execution_set_bound (void) (execution, void*, smx_action_t) (bound, double)
-Proc host_execution_set_affinity (void) (execution, void*, smx_action_t) (ws, void*, smx_host_t) (mask, unsigned long)
-Blck host_execution_wait (int) (execution, void*, smx_action_t)
+Func host_execute (void*, smx_synchro_t) (name, const char*) (host, void*, smx_host_t) (computation_amount, double) (priority, double) (bound, double) (affinity_mask, unsigned long)
+Func host_parallel_execute (void*, smx_synchro_t) (name, const char*) (host_nb, int) (host_list, void*, smx_host_t*) (computation_amount, void*, double*) (communication_amount, void*, double*) (amount, double) (rate, double)
+Proc host_execution_destroy (void) (execution, void*, smx_synchro_t)
+Proc host_execution_cancel (void) (execution, void*, smx_synchro_t)
+Func host_execution_get_remains (double) (execution, void*, smx_synchro_t)
+Func host_execution_get_state (int, e_smx_state_t) (execution, void*, smx_synchro_t)
+Proc host_execution_set_priority (void) (execution, void*, smx_synchro_t) (priority, double)
+Proc host_execution_set_bound (void) (execution, void*, smx_synchro_t) (bound, double)
+Proc host_execution_set_affinity (void) (execution, void*, smx_synchro_t) (ws, void*, smx_host_t) (mask, unsigned long)
+Blck host_execution_wait (int) (execution, void*, smx_synchro_t)
Func host_get_mounted_storage_list (void*, xbt_dict_t) (host, void*, smx_host_t)
Func host_get_attached_storage_list (void*, xbt_dynar_t) (host, void*, smx_host_t)
Proc host_get_params (void) (ind_vm, void*, smx_host_t) (params, void*, ws_params_t)
Func rdv_create (void*, smx_rdv_t) (name, const char*)
Proc rdv_destroy (void) (rdv, void*, smx_rdv_t)
Func rdv_comm_count_by_host (unsigned int) (rdv, void*, smx_rdv_t) (host, void*, smx_host_t)
-Func rdv_get_head (void*, smx_action_t) (rdv, void*, smx_rdv_t)
+Func rdv_get_head (void*, smx_synchro_t) (rdv, void*, smx_rdv_t)
Proc rdv_set_receiver (void) (rdv, void*, smx_rdv_t) (receiver, void*, smx_process_t)
Func rdv_get_receiver (void*, smx_process_t) (rdv, void*, smx_rdv_t)
-Func comm_iprobe (void*, smx_action_t) (rdv, void*, smx_rdv_t) (type, int) (src, int) (tag, int) (match_fun, FPtr, simix_match_func_t) (data, void*)
+Func comm_iprobe (void*, smx_synchro_t) (rdv, void*, smx_rdv_t) (type, int) (src, int) (tag, int) (match_fun, FPtr, simix_match_func_t) (data, void*)
Blck comm_send (void) (src, void*, smx_process_t) (rdv, void*, smx_rdv_t) (task_size, double) (rate, double) (src_buff, void*) (src_buff_size, size_t) (match_fun, FPtr, simix_match_func_t) (copy_data_fun, FPtr, simix_copy_data_func_t) (data, void*) (timeout, double)
-Func comm_isend (void*, smx_action_t) (src, void*, smx_process_t) (rdv, void*, smx_rdv_t) (task_size, double) (rate, double) (src_buff, void*) (src_buff_size, size_t) (match_fun, FPtr, simix_match_func_t) (clean_fun, FPtr, simix_clean_func_t) (copy_data_fun, FPtr, simix_copy_data_func_t) (data, void*) (detached, int)
+Func comm_isend (void*, smx_synchro_t) (src, void*, smx_process_t) (rdv, void*, smx_rdv_t) (task_size, double) (rate, double) (src_buff, void*) (src_buff_size, size_t) (match_fun, FPtr, simix_match_func_t) (clean_fun, FPtr, simix_clean_func_t) (copy_data_fun, FPtr, simix_copy_data_func_t) (data, void*) (detached, int)
Blck comm_recv (void) (rdv, void*, smx_rdv_t) (dst_buff, void*) (dst_buff_size, void*, size_t*) (match_fun, FPtr, simix_match_func_t) (copy_data_fun, FPtr, simix_copy_data_func_t) (data, void*) (timeout, double) (rate, double)
-Func comm_irecv (void*, smx_action_t) (rdv, void*, smx_rdv_t) (dst_buff, void*) (dst_buff_size, void*, size_t*) (match_fun, FPtr, simix_match_func_t) (copy_data_fun, FPtr, simix_copy_data_func_t) (data, void*) (rate, double)
-Proc comm_cancel (void) (comm, void*, smx_action_t)
+Func comm_irecv (void*, smx_synchro_t) (rdv, void*, smx_rdv_t) (dst_buff, void*) (dst_buff_size, void*, size_t*) (match_fun, FPtr, simix_match_func_t) (copy_data_fun, FPtr, simix_copy_data_func_t) (data, void*) (rate, double)
+Proc comm_cancel (void) (comm, void*, smx_synchro_t)
Blck comm_waitany (int) (comms, void*, xbt_dynar_t)
-Blck comm_wait (void) (comm, void*, smx_action_t) (timeout, double)
-Blck comm_test (int) (comm, void*, smx_action_t)
+Blck comm_wait (void) (comm, void*, smx_synchro_t) (timeout, double)
+Blck comm_test (int) (comm, void*, smx_synchro_t)
Blck comm_testany (int) (comms, void*, xbt_dynar_t)
-Func comm_get_remains (double) (comm, void*, smx_action_t)
-Func comm_get_state (int, e_smx_state_t) (comm, void*, smx_action_t)
-Func comm_get_src_data (void*) (comm, void*, smx_action_t)
-Func comm_get_dst_data (void*) (comm, void*, smx_action_t)
-Func comm_get_src_proc (void*, smx_process_t) (comm, void*, smx_action_t)
-Func comm_get_dst_proc (void*, smx_process_t) (comm, void*, smx_action_t)
+Func comm_get_remains (double) (comm, void*, smx_synchro_t)
+Func comm_get_state (int, e_smx_state_t) (comm, void*, smx_synchro_t)
+Func comm_get_src_data (void*) (comm, void*, smx_synchro_t)
+Func comm_get_dst_data (void*) (comm, void*, smx_synchro_t)
+Func comm_get_src_proc (void*, smx_process_t) (comm, void*, smx_synchro_t)
+Func comm_get_dst_proc (void*, smx_process_t) (comm, void*, smx_synchro_t)
Func mutex_init (void*, smx_mutex_t)
Proc mutex_destroy (void) (mutex, void*, smx_mutex_t)
Blck mutex_lock (void) (mutex, void*, smx_mutex_t)
Func storage_get_content (void*, xbt_dict_t) (storage, void*, smx_storage_t)
Func asr_get_properties (void*, xbt_dict_t) (name, const char*)
## HAVE_LATENCY_BOUND_TRACKING
-Func comm_is_latency_bounded (int) (comm, void*, smx_action_t)
+Func comm_is_latency_bounded (int) (comm, void*, smx_synchro_t)
## HAVE_TRACING
-Proc set_category (void) (action, void*, smx_action_t) (category, const char*)
+Proc set_category (void) (synchro, void*, smx_synchro_t) (category, const char*)
## HAVE_MC
Func mc_snapshot (void*, mc_snapshot_t)
Func mc_compare_snapshots (int) (s1, void*, mc_snapshot_t) (s2, void*, mc_snapshot_t)
smx_global_t simix_global = NULL;
static xbt_heap_t simix_timers = NULL;
-static void* SIMIX_action_mallocator_new_f(void);
-static void SIMIX_action_mallocator_free_f(void* action);
-static void SIMIX_action_mallocator_reset_f(void* action);
+static void* SIMIX_synchro_mallocator_new_f(void);
+static void SIMIX_synchro_mallocator_free_f(void* synchro);
+static void SIMIX_synchro_mallocator_reset_f(void* synchro);
/* FIXME: Yeah, I'll do it in a portable maner one day [Mt] */
#include <signal.h>
simix_global->create_process_function = SIMIX_process_create;
simix_global->kill_process_function = SIMIX_process_kill;
simix_global->cleanup_process_function = SIMIX_process_cleanup;
- simix_global->action_mallocator = xbt_mallocator_new(65536,
- SIMIX_action_mallocator_new_f, SIMIX_action_mallocator_free_f,
- SIMIX_action_mallocator_reset_f);
+ simix_global->synchro_mallocator = xbt_mallocator_new(65536,
+ SIMIX_synchro_mallocator_new_f, SIMIX_synchro_mallocator_free_f,
+ SIMIX_synchro_mallocator_reset_f);
simix_global->autorestart = SIMIX_host_restart_processes;
surf_init(argc, argv); /* Initialize SURF structures */
xbt_os_timer_free(simix_global->timer_par);
#endif
- xbt_mallocator_free(simix_global->action_mallocator);
+ xbt_mallocator_free(simix_global->synchro_mallocator);
xbt_free(simix_global);
simix_global = NULL;
* - because the communication failed or were canceled after startup. In this case, it's called from the function
* we are in, by the chunk:
* set = model->states.failed_action_set;
- * while ((action = xbt_swag_extract(set)))
- * SIMIX_simcall_post((smx_action_t) action->data);
+ * while ((synchro = xbt_swag_extract(set)))
+ * SIMIX_simcall_post((smx_synchro_t) synchro->data);
* This order is also fixed because it depends of the order in which the surf actions were
* added to the system, and only maestro can add stuff this way, through simcalls.
- * We thus use the inductive hypothesis once again to conclude that the order in which actions are
+ * We thus use the inductive hypothesis once again to conclude that the order in which synchros are
* poped out of the swag does not depend on the user code's execution order.
- * - because the communication terminated. In this case, actions are served in the order given by
+ * - because the communication terminated. In this case, synchros are served in the order given by
* set = model->states.done_action_set;
- * while ((action = xbt_swag_extract(set)))
- * SIMIX_simcall_post((smx_action_t) action->data);
+ * while ((synchro = xbt_swag_extract(set)))
+ * SIMIX_simcall_post((smx_synchro_t) synchro->data);
* and the argument is very similar to the previous one.
* So, in any case, the orders of calls to SIMIX_comm_finish() do not depend on the order in which user processes are executed.
* So, in any cases, the orders of processes within process_to_run do not depend on the order in which user processes were executed previously.
/* Wake up all processes waiting for a Surf action to finish */
xbt_dynar_foreach(model_list, iter, model) {
while ((action = surf_model_extract_failed_action_set(model)))
- SIMIX_simcall_exit((smx_action_t) surf_action_get_data(action));
+ SIMIX_simcall_exit((smx_synchro_t) surf_action_get_data(action));
while ((action = surf_model_extract_done_action_set(model)))
if (surf_action_get_data(action) == NULL)
XBT_DEBUG("probably vcpu's action %p, skip", action);
else
- SIMIX_simcall_exit((smx_action_t) surf_action_get_data(action));
+ SIMIX_simcall_exit((smx_synchro_t) surf_action_get_data(action));
}
/* Autorestart all process */
("Legend of the following listing: \"Process <pid> (<name>@<host>): <status>\"");
xbt_swag_foreach(process, simix_global->process_list) {
- if (process->waiting_action) {
+ if (process->waiting_synchro) {
- const char* action_description = "unknown";
- switch (process->waiting_action->type) {
+ const char* synchro_description = "unknown";
+ switch (process->waiting_synchro->type) {
- case SIMIX_ACTION_EXECUTE:
- action_description = "execution";
+ case SIMIX_SYNC_EXECUTE:
+ synchro_description = "execution";
break;
- case SIMIX_ACTION_PARALLEL_EXECUTE:
- action_description = "parallel execution";
+ case SIMIX_SYNC_PARALLEL_EXECUTE:
+ synchro_description = "parallel execution";
break;
- case SIMIX_ACTION_COMMUNICATE:
- action_description = "communication";
+ case SIMIX_SYNC_COMMUNICATE:
+ synchro_description = "communication";
break;
- case SIMIX_ACTION_SLEEP:
- action_description = "sleeping";
+ case SIMIX_SYNC_SLEEP:
+ synchro_description = "sleeping";
break;
- case SIMIX_ACTION_JOIN:
- action_description = "joining";
+ case SIMIX_SYNC_JOIN:
+ synchro_description = "joining";
break;
- case SIMIX_ACTION_SYNCHRO:
- action_description = "synchronization";
+ case SIMIX_SYNC_SYNCHRO:
+ synchro_description = "synchronization";
break;
- case SIMIX_ACTION_IO:
- action_description = "I/O";
+ case SIMIX_SYNC_IO:
+ synchro_description = "I/O";
break;
}
- XBT_INFO("Process %lu (%s@%s): waiting for %s action %p (%s) in state %d to finish",
+ XBT_INFO("Process %lu (%s@%s): waiting for %s synchro %p (%s) in state %d to finish",
process->pid, process->name, sg_host_name(process->smx_host),
- action_description, process->waiting_action,
- process->waiting_action->name, (int)process->waiting_action->state);
+ synchro_description, process->waiting_synchro,
+ process->waiting_synchro->name, (int)process->waiting_synchro->state);
}
else {
XBT_INFO("Process %lu (%s@%s)", process->pid, process->name, sg_host_name(process->smx_host));
}
}
-static void* SIMIX_action_mallocator_new_f(void) {
- smx_action_t action = xbt_new(s_smx_action_t, 1);
- action->simcalls = xbt_fifo_new();
- return action;
+static void* SIMIX_synchro_mallocator_new_f(void) {
+ smx_synchro_t synchro = xbt_new(s_smx_synchro_t, 1);
+ synchro->simcalls = xbt_fifo_new();
+ return synchro;
}
-static void SIMIX_action_mallocator_free_f(void* action) {
- xbt_fifo_free(((smx_action_t) action)->simcalls);
- xbt_free(action);
+static void SIMIX_synchro_mallocator_free_f(void* synchro) {
+ xbt_fifo_free(((smx_synchro_t) synchro)->simcalls);
+ xbt_free(synchro);
}
-static void SIMIX_action_mallocator_reset_f(void* action) {
+static void SIMIX_synchro_mallocator_reset_f(void* synchro) {
// we also recycle the simcall list
- xbt_fifo_t fifo = ((smx_action_t) action)->simcalls;
+ xbt_fifo_t fifo = ((smx_synchro_t) synchro)->simcalls;
xbt_fifo_reset(fifo);
- memset(action, 0, sizeof(s_smx_action_t));
- ((smx_action_t) action)->simcalls = fifo;
+ memset(synchro, 0, sizeof(s_smx_synchro_t));
+ ((smx_synchro_t) synchro)->simcalls = fifo;
}
xbt_dict_t simcall_HANDLER_asr_get_properties(smx_simcall_t simcall, const char *name){
#include "mc/mc.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_host, simix,
- "Logging specific to SIMIX (hosts)");
+ "SIMIX hosts");
-static void SIMIX_execution_finish(smx_action_t action);
+static void SIMIX_execution_finish(smx_synchro_t synchro);
/**
* \brief Internal function to create a SIMIX host.
xbt_die("No function for simix_global->autorestart");
}
-smx_action_t simcall_HANDLER_host_execute(smx_simcall_t simcall,const char *name,
+smx_synchro_t simcall_HANDLER_host_execute(smx_simcall_t simcall,const char *name,
smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask){
return SIMIX_host_execute(name, host, computation_amount, priority, bound, affinity_mask);
}
-smx_action_t SIMIX_host_execute(const char *name,
+smx_synchro_t SIMIX_host_execute(const char *name,
smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask){
/* alloc structures and initialize */
- smx_action_t action = xbt_mallocator_get(simix_global->action_mallocator);
- action->type = SIMIX_ACTION_EXECUTE;
- action->name = xbt_strdup(name);
- action->state = SIMIX_RUNNING;
- action->execution.host = host;
+ smx_synchro_t synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
+ synchro->type = SIMIX_SYNC_EXECUTE;
+ synchro->name = xbt_strdup(name);
+ synchro->state = SIMIX_RUNNING;
+ synchro->execution.host = host;
#ifdef HAVE_TRACING
- action->category = NULL;
+ synchro->category = NULL;
#endif
/* set surf's action */
if (!MC_is_active()) {
- action->execution.surf_exec = surf_workstation_execute(host, computation_amount);
- surf_action_set_data(action->execution.surf_exec, action);
- surf_action_set_priority(action->execution.surf_exec, priority);
+ synchro->execution.surf_exec = surf_workstation_execute(host, computation_amount);
+ surf_action_set_data(synchro->execution.surf_exec, synchro);
+ surf_action_set_priority(synchro->execution.surf_exec, priority);
/* Note (hypervisor): for multicore, the bound value being passed to the
* surf layer should not be zero (i.e., unlimited). It should be the
* capacity of a CPU core. */
if (bound == 0)
- surf_cpu_action_set_bound(action->execution.surf_exec, SIMIX_host_get_speed(host));
+ surf_cpu_action_set_bound(synchro->execution.surf_exec, SIMIX_host_get_speed(host));
else
- surf_cpu_action_set_bound(action->execution.surf_exec, bound);
+ surf_cpu_action_set_bound(synchro->execution.surf_exec, bound);
if (affinity_mask != 0) {
/* just a double check to confirm that this host is the host where this task is running. */
- xbt_assert(action->execution.host == host);
- surf_cpu_action_set_affinity(action->execution.surf_exec, host, affinity_mask);
+ xbt_assert(synchro->execution.host == host);
+ surf_cpu_action_set_affinity(synchro->execution.surf_exec, host, affinity_mask);
}
}
- XBT_DEBUG("Create execute action %p: %s", action, action->name);
+ XBT_DEBUG("Create execute synchro %p: %s", synchro, synchro->name);
- return action;
+ return synchro;
}
-smx_action_t simcall_HANDLER_host_parallel_execute(smx_simcall_t simcall, const char *name,
+smx_synchro_t simcall_HANDLER_host_parallel_execute(smx_simcall_t simcall, const char *name,
int host_nb, smx_host_t *host_list,
double *computation_amount, double *communication_amount,
double amount, double rate){
return SIMIX_host_parallel_execute(name, host_nb, host_list, computation_amount,
communication_amount, amount, rate);
}
-smx_action_t SIMIX_host_parallel_execute(const char *name,
+smx_synchro_t SIMIX_host_parallel_execute(const char *name,
int host_nb, smx_host_t *host_list,
double *computation_amount, double *communication_amount,
double amount, double rate){
int i;
/* alloc structures and initialize */
- smx_action_t action = xbt_mallocator_get(simix_global->action_mallocator);
- action->type = SIMIX_ACTION_PARALLEL_EXECUTE;
- action->name = xbt_strdup(name);
- action->state = SIMIX_RUNNING;
- action->execution.host = NULL; /* FIXME: do we need the list of hosts? */
+ smx_synchro_t synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
+ synchro->type = SIMIX_SYNC_PARALLEL_EXECUTE;
+ synchro->name = xbt_strdup(name);
+ synchro->state = SIMIX_RUNNING;
+ synchro->execution.host = NULL; /* FIXME: do we need the list of hosts? */
#ifdef HAVE_TRACING
- action->category = NULL;
+ synchro->category = NULL;
#endif
- /* set surf's action */
+ /* set surf's synchro */
workstation_list = xbt_new0(void *, host_nb);
for (i = 0; i < host_nb; i++)
workstation_list[i] = surf_workstation_resource_priv(host_list[i]);
}
}
- /* set surf's action */
+ /* set surf's synchro */
if (!MC_is_active()) {
- action->execution.surf_exec =
+ synchro->execution.surf_exec =
surf_workstation_model_execute_parallel_task((surf_workstation_model_t)surf_workstation_model,
host_nb, workstation_list, computation_amount, communication_amount, rate);
- surf_action_set_data(action->execution.surf_exec, action);
+ surf_action_set_data(synchro->execution.surf_exec, synchro);
}
- XBT_DEBUG("Create parallel execute action %p", action);
+ XBT_DEBUG("Create parallel execute synchro %p", synchro);
- return action;
+ return synchro;
}
-void simcall_HANDLER_host_execution_destroy(smx_simcall_t simcall, smx_action_t action){
- SIMIX_host_execution_destroy(action);
+void simcall_HANDLER_host_execution_destroy(smx_simcall_t simcall, smx_synchro_t synchro){
+ SIMIX_host_execution_destroy(synchro);
}
-void SIMIX_host_execution_destroy(smx_action_t action){
- XBT_DEBUG("Destroy action %p", action);
+void SIMIX_host_execution_destroy(smx_synchro_t synchro){
+ XBT_DEBUG("Destroy synchro %p", synchro);
- if (action->execution.surf_exec) {
- surf_action_unref(action->execution.surf_exec);
- action->execution.surf_exec = NULL;
+ if (synchro->execution.surf_exec) {
+ surf_action_unref(synchro->execution.surf_exec);
+ synchro->execution.surf_exec = NULL;
}
- xbt_free(action->name);
- xbt_mallocator_release(simix_global->action_mallocator, action);
+ xbt_free(synchro->name);
+ xbt_mallocator_release(simix_global->synchro_mallocator, synchro);
}
-void simcall_HANDLER_host_execution_cancel(smx_simcall_t simcall, smx_action_t action){
- SIMIX_host_execution_cancel(action);
+void simcall_HANDLER_host_execution_cancel(smx_simcall_t simcall, smx_synchro_t synchro){
+ SIMIX_host_execution_cancel(synchro);
}
-void SIMIX_host_execution_cancel(smx_action_t action){
- XBT_DEBUG("Cancel action %p", action);
+void SIMIX_host_execution_cancel(smx_synchro_t synchro){
+ XBT_DEBUG("Cancel synchro %p", synchro);
- if (action->execution.surf_exec)
- surf_action_cancel(action->execution.surf_exec);
+ if (synchro->execution.surf_exec)
+ surf_action_cancel(synchro->execution.surf_exec);
}
-double simcall_HANDLER_host_execution_get_remains(smx_simcall_t simcall, smx_action_t action){
- return SIMIX_host_execution_get_remains(action);
+double simcall_HANDLER_host_execution_get_remains(smx_simcall_t simcall, smx_synchro_t synchro){
+ return SIMIX_host_execution_get_remains(synchro);
}
-double SIMIX_host_execution_get_remains(smx_action_t action){
+double SIMIX_host_execution_get_remains(smx_synchro_t synchro){
double result = 0.0;
- if (action->state == SIMIX_RUNNING)
- result = surf_action_get_remains(action->execution.surf_exec);
+ if (synchro->state == SIMIX_RUNNING)
+ result = surf_action_get_remains(synchro->execution.surf_exec);
return result;
}
-e_smx_state_t simcall_HANDLER_host_execution_get_state(smx_simcall_t simcall, smx_action_t action){
- return SIMIX_host_execution_get_state(action);
+e_smx_state_t simcall_HANDLER_host_execution_get_state(smx_simcall_t simcall, smx_synchro_t synchro){
+ return SIMIX_host_execution_get_state(synchro);
}
-e_smx_state_t SIMIX_host_execution_get_state(smx_action_t action){
- return action->state;
+e_smx_state_t SIMIX_host_execution_get_state(smx_synchro_t synchro){
+ return synchro->state;
}
-void simcall_HANDLER_host_execution_set_priority(smx_simcall_t simcall, smx_action_t action,
+void simcall_HANDLER_host_execution_set_priority(smx_simcall_t simcall, smx_synchro_t synchro,
double priority){
- SIMIX_host_execution_set_priority(action, priority);
+ SIMIX_host_execution_set_priority(synchro, priority);
}
-void SIMIX_host_execution_set_priority(smx_action_t action, double priority){
+void SIMIX_host_execution_set_priority(smx_synchro_t synchro, double priority){
- if(action->execution.surf_exec)
- surf_action_set_priority(action->execution.surf_exec, priority);
+ if(synchro->execution.surf_exec)
+ surf_action_set_priority(synchro->execution.surf_exec, priority);
}
-void simcall_HANDLER_host_execution_set_bound(smx_simcall_t simcall, smx_action_t action,
+void simcall_HANDLER_host_execution_set_bound(smx_simcall_t simcall, smx_synchro_t synchro,
double bound){
- SIMIX_host_execution_set_bound(action, bound);
+ SIMIX_host_execution_set_bound(synchro, bound);
}
-void SIMIX_host_execution_set_bound(smx_action_t action, double bound){
+void SIMIX_host_execution_set_bound(smx_synchro_t synchro, double bound){
- if(action->execution.surf_exec)
- surf_cpu_action_set_bound(action->execution.surf_exec, bound);
+ if(synchro->execution.surf_exec)
+ surf_cpu_action_set_bound(synchro->execution.surf_exec, bound);
}
void simcall_HANDLER_host_execution_set_affinity(smx_simcall_t simcall,
- smx_action_t action, smx_host_t host, unsigned long mask){
- SIMIX_host_execution_set_affinity(action, host, mask);
+ smx_synchro_t synchro, smx_host_t host, unsigned long mask){
+ SIMIX_host_execution_set_affinity(synchro, host, mask);
}
-void SIMIX_host_execution_set_affinity(smx_action_t action, smx_host_t host, unsigned long mask){
- xbt_assert(action->type == SIMIX_ACTION_EXECUTE);
+void SIMIX_host_execution_set_affinity(smx_synchro_t synchro, smx_host_t host, unsigned long mask){
+ xbt_assert(synchro->type == SIMIX_SYNC_EXECUTE);
- if (action->execution.surf_exec) {
+ if (synchro->execution.surf_exec) {
/* just a double check to confirm that this host is the host where this task is running. */
- xbt_assert(action->execution.host == host);
- surf_cpu_action_set_affinity(action->execution.surf_exec, host, mask);
+ xbt_assert(synchro->execution.host == host);
+ surf_cpu_action_set_affinity(synchro->execution.surf_exec, host, mask);
}
}
-void simcall_HANDLER_host_execution_wait(smx_simcall_t simcall, smx_action_t action){
+void simcall_HANDLER_host_execution_wait(smx_simcall_t simcall, smx_synchro_t synchro){
- XBT_DEBUG("Wait for execution of action %p, state %d", action, (int)action->state);
+ XBT_DEBUG("Wait for execution of synchro %p, state %d", synchro, (int)synchro->state);
- /* Associate this simcall to the action */
- xbt_fifo_push(action->simcalls, simcall);
- simcall->issuer->waiting_action = action;
+ /* Associate this simcall to the synchro */
+ xbt_fifo_push(synchro->simcalls, simcall);
+ simcall->issuer->waiting_synchro = synchro;
- /* set surf's action */
+ /* set surf's synchro */
if (MC_is_active()) {
- action->state = SIMIX_DONE;
- SIMIX_execution_finish(action);
+ synchro->state = SIMIX_DONE;
+ SIMIX_execution_finish(synchro);
return;
}
- /* If the action is already finished then perform the error handling */
- if (action->state != SIMIX_RUNNING)
- SIMIX_execution_finish(action);
+ /* If the synchro is already finished then perform the error handling */
+ if (synchro->state != SIMIX_RUNNING)
+ SIMIX_execution_finish(synchro);
}
-void SIMIX_host_execution_suspend(smx_action_t action)
+void SIMIX_host_execution_suspend(smx_synchro_t synchro)
{
- if(action->execution.surf_exec)
- surf_action_suspend(action->execution.surf_exec);
+ if(synchro->execution.surf_exec)
+ surf_action_suspend(synchro->execution.surf_exec);
}
-void SIMIX_host_execution_resume(smx_action_t action)
+void SIMIX_host_execution_resume(smx_synchro_t synchro)
{
- if(action->execution.surf_exec)
- surf_action_resume(action->execution.surf_exec);
+ if(synchro->execution.surf_exec)
+ surf_action_resume(synchro->execution.surf_exec);
}
-void SIMIX_execution_finish(smx_action_t action)
+void SIMIX_execution_finish(smx_synchro_t synchro)
{
xbt_fifo_item_t item;
smx_simcall_t simcall;
- xbt_fifo_foreach(action->simcalls, item, simcall, smx_simcall_t) {
+ xbt_fifo_foreach(synchro->simcalls, item, simcall, smx_simcall_t) {
- switch (action->state) {
+ switch (synchro->state) {
case SIMIX_DONE:
- /* do nothing, action done */
- XBT_DEBUG("SIMIX_execution_finished: execution successful");
+ /* do nothing, synchro done */
+ XBT_DEBUG("SIMIX_execution_finished: execution successful");
break;
case SIMIX_FAILED:
break;
default:
- xbt_die("Internal error in SIMIX_execution_finish: unexpected action state %d",
- (int)action->state);
+ xbt_die("Internal error in SIMIX_execution_finish: unexpected synchro state %d",
+ (int)synchro->state);
}
/* check if the host is down */
if (surf_resource_get_state(surf_workstation_resource_priv(simcall->issuer->smx_host)) != SURF_RESOURCE_ON) {
simcall->issuer->context->iwannadie = 1;
}
- simcall->issuer->waiting_action = NULL;
- simcall_host_execution_wait__set__result(simcall, action->state);
+ simcall->issuer->waiting_synchro = NULL;
+ simcall_host_execution_wait__set__result(simcall, synchro->state);
SIMIX_simcall_answer(simcall);
}
/* We no longer need it */
- SIMIX_host_execution_destroy(action);
+ SIMIX_host_execution_destroy(synchro);
}
-void SIMIX_post_host_execute(smx_action_t action)
+void SIMIX_post_host_execute(smx_synchro_t synchro)
{
- if (action->type == SIMIX_ACTION_EXECUTE && /* FIMXE: handle resource failure
+ if (synchro->type == SIMIX_SYNC_EXECUTE && /* FIMXE: handle resource failure
* for parallel tasks too */
- surf_resource_get_state(surf_workstation_resource_priv(action->execution.host)) == SURF_RESOURCE_OFF) {
- /* If the host running the action failed, notice it so that the asking
+ surf_resource_get_state(surf_workstation_resource_priv(synchro->execution.host)) == SURF_RESOURCE_OFF) {
+ /* If the host running the synchro failed, notice it so that the asking
* process can be killed if it runs on that host itself */
- action->state = SIMIX_FAILED;
- } else if (surf_action_get_state(action->execution.surf_exec) == SURF_ACTION_FAILED) {
- /* If the host running the action didn't fail, then the action was
+ synchro->state = SIMIX_FAILED;
+ } else if (surf_action_get_state(synchro->execution.surf_exec) == SURF_ACTION_FAILED) {
+ /* If the host running the synchro didn't fail, then the synchro was
* canceled */
- action->state = SIMIX_CANCELED;
+ synchro->state = SIMIX_CANCELED;
} else {
- action->state = SIMIX_DONE;
+ synchro->state = SIMIX_DONE;
}
- if (action->execution.surf_exec) {
- surf_action_unref(action->execution.surf_exec);
- action->execution.surf_exec = NULL;
+ if (synchro->execution.surf_exec) {
+ surf_action_unref(synchro->execution.surf_exec);
+ synchro->execution.surf_exec = NULL;
}
- /* If there are simcalls associated with the action, then answer them */
- if (xbt_fifo_size(action->simcalls)) {
- SIMIX_execution_finish(action);
+ /* If there are simcalls associated with the synchro, then answer them */
+ if (xbt_fifo_size(synchro->simcalls)) {
+ SIMIX_execution_finish(synchro);
}
}
#ifdef HAVE_TRACING
-void simcall_HANDLER_set_category(smx_simcall_t simcall, smx_action_t action,
+void simcall_HANDLER_set_category(smx_simcall_t simcall, smx_synchro_t synchro,
const char *category){
- SIMIX_set_category(action, category);
+ SIMIX_set_category(synchro, category);
}
-void SIMIX_set_category(smx_action_t action, const char *category)
+void SIMIX_set_category(smx_synchro_t synchro, const char *category)
{
- if (action->state != SIMIX_RUNNING) return;
- if (action->type == SIMIX_ACTION_EXECUTE){
- surf_action_set_category(action->execution.surf_exec, category);
- }else if (action->type == SIMIX_ACTION_COMMUNICATE){
- surf_action_set_category(action->comm.surf_comm, category);
+ if (synchro->state != SIMIX_RUNNING) return;
+ if (synchro->type == SIMIX_SYNC_EXECUTE){
+ surf_action_set_category(synchro->execution.surf_exec, category);
+ }else if (synchro->type == SIMIX_SYNC_COMMUNICATE){
+ surf_action_set_category(synchro->comm.surf_comm, category);
}
}
#endif
int SIMIX_host_get_nb_pstates(smx_host_t host);
double SIMIX_host_get_consumed_energy(smx_host_t host);
void SIMIX_host_set_power_peak_at(smx_host_t host, int pstate_index);
-smx_action_t SIMIX_host_execute(const char *name,
+smx_synchro_t SIMIX_host_execute(const char *name,
smx_host_t host, double computation_amount, double priority, double bound, unsigned long affinity_mask);
-smx_action_t SIMIX_host_parallel_execute(const char *name,
+smx_synchro_t SIMIX_host_parallel_execute(const char *name,
int host_nb, smx_host_t *host_list,
double *computation_amount, double *communication_amount,
double amount, double rate);
-void SIMIX_host_execution_destroy(smx_action_t action);
-void SIMIX_host_execution_cancel(smx_action_t action);
-double SIMIX_host_execution_get_remains(smx_action_t action);
-e_smx_state_t SIMIX_host_execution_get_state(smx_action_t action);
-void SIMIX_host_execution_set_priority(smx_action_t action, double priority);
-void SIMIX_host_execution_set_bound(smx_action_t action, double bound);
-void SIMIX_host_execution_set_affinity(smx_action_t action, smx_host_t host, unsigned long mask);
+void SIMIX_host_execution_destroy(smx_synchro_t synchro);
+void SIMIX_host_execution_cancel(smx_synchro_t synchro);
+double SIMIX_host_execution_get_remains(smx_synchro_t synchro);
+e_smx_state_t SIMIX_host_execution_get_state(smx_synchro_t synchro);
+void SIMIX_host_execution_set_priority(smx_synchro_t synchro, double priority);
+void SIMIX_host_execution_set_bound(smx_synchro_t synchro, double bound);
+void SIMIX_host_execution_set_affinity(smx_synchro_t synchro, smx_host_t host, unsigned long mask);
xbt_dict_t SIMIX_host_get_mounted_storage_list(smx_host_t host);
xbt_dynar_t SIMIX_host_get_attached_storage_list(smx_host_t host);
-void SIMIX_host_execution_suspend(smx_action_t action);
-void SIMIX_host_execution_resume(smx_action_t action);
+void SIMIX_host_execution_suspend(smx_synchro_t synchro);
+void SIMIX_host_execution_resume(smx_synchro_t synchro);
-void SIMIX_post_host_execute(smx_action_t action);
+void SIMIX_post_host_execute(smx_synchro_t synchro);
#ifdef HAVE_TRACING
-void SIMIX_set_category(smx_action_t action, const char *category);
+void SIMIX_set_category(smx_synchro_t synchro, const char *category);
#endif
/* vm related stuff */
smx_host_t SIMIX_vm_create(const char *name, smx_host_t ind_phys_host);
//SIMIX FILE READ
void simcall_HANDLER_file_read(smx_simcall_t simcall, smx_file_t fd, sg_size_t size, smx_host_t host)
{
- smx_action_t action = SIMIX_file_read(simcall->issuer, fd, size, host);
- xbt_fifo_push(action->simcalls, simcall);
- simcall->issuer->waiting_action = action;
+ smx_synchro_t synchro = SIMIX_file_read(simcall->issuer, fd, size, host);
+ xbt_fifo_push(synchro->simcalls, simcall);
+ simcall->issuer->waiting_synchro = synchro;
}
-smx_action_t SIMIX_file_read(smx_process_t process, smx_file_t fd, sg_size_t size, smx_host_t host)
+smx_synchro_t SIMIX_file_read(smx_process_t process, smx_file_t fd, sg_size_t size, smx_host_t host)
{
- smx_action_t action;
+ smx_synchro_t synchro;
/* check if the host is active */
if (surf_resource_get_state(surf_workstation_resource_priv(host)) != SURF_RESOURCE_ON) {
sg_host_name(host));
}
- action = xbt_mallocator_get(simix_global->action_mallocator);
- action->type = SIMIX_ACTION_IO;
- action->name = NULL;
+ synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
+ synchro->type = SIMIX_SYNC_IO;
+ synchro->name = NULL;
#ifdef HAVE_TRACING
- action->category = NULL;
+ synchro->category = NULL;
#endif
- action->io.host = host;
- action->io.surf_io = surf_workstation_read(host, fd->surf_file, size);
+ synchro->io.host = host;
+ synchro->io.surf_io = surf_workstation_read(host, fd->surf_file, size);
- surf_action_set_data(action->io.surf_io, action);
- XBT_DEBUG("Create io action %p", action);
+ surf_action_set_data(synchro->io.surf_io, synchro);
+ XBT_DEBUG("Create io synchro %p", synchro);
- return action;
+ return synchro;
}
//SIMIX FILE WRITE
void simcall_HANDLER_file_write(smx_simcall_t simcall, smx_file_t fd, sg_size_t size, smx_host_t host)
{
- smx_action_t action = SIMIX_file_write(simcall->issuer, fd, size, host);
- xbt_fifo_push(action->simcalls, simcall);
- simcall->issuer->waiting_action = action;
+ smx_synchro_t synchro = SIMIX_file_write(simcall->issuer, fd, size, host);
+ xbt_fifo_push(synchro->simcalls, simcall);
+ simcall->issuer->waiting_synchro = synchro;
}
-smx_action_t SIMIX_file_write(smx_process_t process, smx_file_t fd, sg_size_t size, smx_host_t host)
+smx_synchro_t SIMIX_file_write(smx_process_t process, smx_file_t fd, sg_size_t size, smx_host_t host)
{
- smx_action_t action;
+ smx_synchro_t synchro;
/* check if the host is active */
if (surf_resource_get_state(surf_workstation_resource_priv(host)) != SURF_RESOURCE_ON) {
sg_host_name(host));
}
- action = xbt_mallocator_get(simix_global->action_mallocator);
- action->type = SIMIX_ACTION_IO;
- action->name = NULL;
+ synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
+ synchro->type = SIMIX_SYNC_IO;
+ synchro->name = NULL;
#ifdef HAVE_TRACING
- action->category = NULL;
+ synchro->category = NULL;
#endif
- action->io.host = host;
- action->io.surf_io = surf_workstation_write(host, fd->surf_file, size);
+ synchro->io.host = host;
+ synchro->io.surf_io = surf_workstation_write(host, fd->surf_file, size);
- surf_action_set_data(action->io.surf_io, action);
- XBT_DEBUG("Create io action %p", action);
+ surf_action_set_data(synchro->io.surf_io, synchro);
+ XBT_DEBUG("Create io synchro %p", synchro);
- return action;
+ return synchro;
}
//SIMIX FILE OPEN
void simcall_HANDLER_file_open(smx_simcall_t simcall, const char* fullpath, smx_host_t host)
{
- smx_action_t action = SIMIX_file_open(simcall->issuer, fullpath, host);
- xbt_fifo_push(action->simcalls, simcall);
- simcall->issuer->waiting_action = action;
+ smx_synchro_t synchro = SIMIX_file_open(simcall->issuer, fullpath, host);
+ xbt_fifo_push(synchro->simcalls, simcall);
+ simcall->issuer->waiting_synchro = synchro;
}
-smx_action_t SIMIX_file_open(smx_process_t process, const char* fullpath, smx_host_t host)
+smx_synchro_t SIMIX_file_open(smx_process_t process, const char* fullpath, smx_host_t host)
{
- smx_action_t action;
+ smx_synchro_t synchro;
/* check if the host is active */
if (surf_resource_get_state(surf_workstation_resource_priv(host)) != SURF_RESOURCE_ON) {
sg_host_name(host));
}
- action = xbt_mallocator_get(simix_global->action_mallocator);
- action->type = SIMIX_ACTION_IO;
- action->name = NULL;
+ synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
+ synchro->type = SIMIX_SYNC_IO;
+ synchro->name = NULL;
#ifdef HAVE_TRACING
- action->category = NULL;
+ synchro->category = NULL;
#endif
- action->io.host = host;
- action->io.surf_io = surf_workstation_open(host, fullpath);
+ synchro->io.host = host;
+ synchro->io.surf_io = surf_workstation_open(host, fullpath);
- surf_action_set_data(action->io.surf_io, action);
- XBT_DEBUG("Create io action %p", action);
+ surf_action_set_data(synchro->io.surf_io, synchro);
+ XBT_DEBUG("Create io synchro %p", synchro);
- return action;
+ return synchro;
}
//SIMIX FILE CLOSE
void simcall_HANDLER_file_close(smx_simcall_t simcall, smx_file_t fd, smx_host_t host)
{
- smx_action_t action = SIMIX_file_close(simcall->issuer, fd, host);
- xbt_fifo_push(action->simcalls, simcall);
- simcall->issuer->waiting_action = action;
+ smx_synchro_t synchro = SIMIX_file_close(simcall->issuer, fd, host);
+ xbt_fifo_push(synchro->simcalls, simcall);
+ simcall->issuer->waiting_synchro = synchro;
}
-smx_action_t SIMIX_file_close(smx_process_t process, smx_file_t fd, smx_host_t host)
+smx_synchro_t SIMIX_file_close(smx_process_t process, smx_file_t fd, smx_host_t host)
{
- smx_action_t action;
+ smx_synchro_t synchro;
/* check if the host is active */
if (surf_resource_get_state(surf_workstation_resource_priv(host)) != SURF_RESOURCE_ON) {
sg_host_name(host));
}
- action = xbt_mallocator_get(simix_global->action_mallocator);
- action->type = SIMIX_ACTION_IO;
- action->name = NULL;
+ synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
+ synchro->type = SIMIX_SYNC_IO;
+ synchro->name = NULL;
#ifdef HAVE_TRACING
- action->category = NULL;
+ synchro->category = NULL;
#endif
- action->io.host = host;
- action->io.surf_io = surf_workstation_close(host, fd->surf_file);
+ synchro->io.host = host;
+ synchro->io.surf_io = surf_workstation_close(host, fd->surf_file);
- surf_action_set_data(action->io.surf_io, action);
- XBT_DEBUG("Create io action %p", action);
+ surf_action_set_data(synchro->io.surf_io, synchro);
+ XBT_DEBUG("Create io synchro %p", synchro);
- return action;
+ return synchro;
}
return surf_storage_get_host(storage);
}
-void SIMIX_post_io(smx_action_t action)
+void SIMIX_post_io(smx_synchro_t synchro)
{
xbt_fifo_item_t i;
smx_simcall_t simcall;
- xbt_fifo_foreach(action->simcalls,i,simcall,smx_simcall_t) {
+ xbt_fifo_foreach(synchro->simcalls,i,simcall,smx_simcall_t) {
switch (simcall->call) {
case SIMCALL_FILE_OPEN: {
smx_file_t tmp = xbt_new(s_smx_file_t,1);
- tmp->surf_file = surf_storage_action_get_file(action->io.surf_io);
+ tmp->surf_file = surf_storage_action_get_file(synchro->io.surf_io);
simcall_file_open__set__result(simcall, tmp);
break;
}
simcall_file_close__set__result(simcall, 0);
break;
case SIMCALL_FILE_WRITE:
- simcall_file_write__set__result(simcall, surf_action_get_cost(action->io.surf_io));
+ simcall_file_write__set__result(simcall, surf_action_get_cost(synchro->io.surf_io));
break;
case SIMCALL_FILE_READ:
- simcall_file_read__set__result(simcall, surf_action_get_cost(action->io.surf_io));
+ simcall_file_read__set__result(simcall, surf_action_get_cost(synchro->io.surf_io));
break;
default:
}
}
- switch (surf_action_get_state(action->io.surf_io)) {
+ switch (surf_action_get_state(synchro->io.surf_io)) {
case SURF_ACTION_FAILED:
- action->state = SIMIX_FAILED;
+ synchro->state = SIMIX_FAILED;
break;
case SURF_ACTION_DONE:
- action->state = SIMIX_DONE;
+ synchro->state = SIMIX_DONE;
break;
default:
break;
}
- SIMIX_io_finish(action);
+ SIMIX_io_finish(synchro);
}
-void SIMIX_io_destroy(smx_action_t action)
+void SIMIX_io_destroy(smx_synchro_t synchro)
{
- XBT_DEBUG("Destroy action %p", action);
- if (action->io.surf_io)
- surf_action_unref(action->io.surf_io);
- xbt_mallocator_release(simix_global->action_mallocator, action);
+ XBT_DEBUG("Destroy synchro %p", synchro);
+ if (synchro->io.surf_io)
+ surf_action_unref(synchro->io.surf_io);
+ xbt_mallocator_release(simix_global->synchro_mallocator, synchro);
}
-void SIMIX_io_finish(smx_action_t action)
+void SIMIX_io_finish(smx_synchro_t synchro)
{
xbt_fifo_item_t item;
smx_simcall_t simcall;
- xbt_fifo_foreach(action->simcalls, item, simcall, smx_simcall_t) {
+ xbt_fifo_foreach(synchro->simcalls, item, simcall, smx_simcall_t) {
- switch (action->state) {
+ switch (synchro->state) {
case SIMIX_DONE:
- /* do nothing, action done */
+ /* do nothing, synchro done */
break;
case SIMIX_FAILED:
break;
default:
- xbt_die("Internal error in SIMIX_io_finish: unexpected action state %d",
- (int)action->state);
+ xbt_die("Internal error in SIMIX_io_finish: unexpected synchro state %d",
+ (int)synchro->state);
}
if (surf_resource_get_state(surf_workstation_resource_priv(simcall->issuer->smx_host)) != SURF_RESOURCE_ON) {
simcall->issuer->context->iwannadie = 1;
}
- simcall->issuer->waiting_action = NULL;
+ simcall->issuer->waiting_synchro = NULL;
SIMIX_simcall_answer(simcall);
}
/* We no longer need it */
- SIMIX_io_destroy(action);
+ SIMIX_io_destroy(synchro);
}
smx_storage_t SIMIX_storage_create(const char *name, void *storage, void *data);
void SIMIX_storage_destroy(void *s);
-smx_action_t SIMIX_file_read(smx_process_t process, smx_file_t fd, sg_size_t size, smx_host_t host);
-smx_action_t SIMIX_file_write(smx_process_t process, smx_file_t fd, sg_size_t size, smx_host_t host);
-smx_action_t SIMIX_file_open(smx_process_t process, const char* fullpath, smx_host_t host);
-smx_action_t SIMIX_file_close(smx_process_t process, smx_file_t fd, smx_host_t host);
+smx_synchro_t SIMIX_file_read(smx_process_t process, smx_file_t fd, sg_size_t size, smx_host_t host);
+smx_synchro_t SIMIX_file_write(smx_process_t process, smx_file_t fd, sg_size_t size, smx_host_t host);
+smx_synchro_t SIMIX_file_open(smx_process_t process, const char* fullpath, smx_host_t host);
+smx_synchro_t SIMIX_file_close(smx_process_t process, smx_file_t fd, smx_host_t host);
int SIMIX_file_unlink(smx_process_t process, smx_file_t fd, smx_host_t host);
sg_size_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd);
sg_size_t SIMIX_file_tell(smx_process_t process, smx_file_t fd);
xbt_dict_t SIMIX_storage_get_content(smx_storage_t storage);
-void SIMIX_post_io(smx_action_t action);
-void SIMIX_io_destroy(smx_action_t action);
-void SIMIX_io_finish(smx_action_t action);
+void SIMIX_post_io(smx_synchro_t synchro);
+void SIMIX_io_destroy(smx_synchro_t synchro);
+void SIMIX_io_finish(smx_synchro_t synchro);
#endif
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_network, simix,
- "Logging specific to SIMIX (network)");
+ "SIMIX network-related synchronization");
static xbt_dict_t rdv_points = NULL;
XBT_EXPORT_NO_IMPORT(unsigned long int) smx_total_comms = 0;
static void SIMIX_waitany_remove_simcall_from_actions(smx_simcall_t simcall);
-static void SIMIX_comm_copy_data(smx_action_t comm);
-static smx_action_t SIMIX_comm_new(e_smx_comm_type_t type);
-static XBT_INLINE void SIMIX_rdv_push(smx_rdv_t rdv, smx_action_t comm);
-static smx_action_t SIMIX_fifo_probe_comm(xbt_fifo_t fifo, e_smx_comm_type_t type,
- int (*match_fun)(void *, void *,smx_action_t),
- void *user_data, smx_action_t my_action);
-static smx_action_t SIMIX_fifo_get_comm(xbt_fifo_t fifo, e_smx_comm_type_t type,
- int (*match_fun)(void *, void *,smx_action_t),
- void *user_data, smx_action_t my_action);
+static void SIMIX_comm_copy_data(smx_synchro_t comm);
+static smx_synchro_t SIMIX_comm_new(e_smx_comm_type_t type);
+static XBT_INLINE void SIMIX_rdv_push(smx_rdv_t rdv, smx_synchro_t comm);
+static smx_synchro_t SIMIX_fifo_probe_comm(xbt_fifo_t fifo, e_smx_comm_type_t type,
+ int (*match_fun)(void *, void *,smx_synchro_t),
+ void *user_data, smx_synchro_t my_synchro);
+static smx_synchro_t SIMIX_fifo_get_comm(xbt_fifo_t fifo, e_smx_comm_type_t type,
+ int (*match_fun)(void *, void *,smx_synchro_t),
+ void *user_data, smx_synchro_t my_synchro);
static void SIMIX_rdv_free(void *data);
-static void SIMIX_comm_start(smx_action_t action);
+static void SIMIX_comm_start(smx_synchro_t synchro);
void SIMIX_network_init(void)
{
}
int SIMIX_rdv_comm_count_by_host(smx_rdv_t rdv, smx_host_t host)
{
- smx_action_t comm = NULL;
+ smx_synchro_t comm = NULL;
xbt_fifo_item_t item = NULL;
int count = 0;
- xbt_fifo_foreach(rdv->comm_fifo, item, comm, smx_action_t) {
+ xbt_fifo_foreach(rdv->comm_fifo, item, comm, smx_synchro_t) {
if (comm->comm.src_proc->smx_host == host)
count++;
}
return count;
}
-smx_action_t simcall_HANDLER_rdv_get_head(smx_simcall_t simcall, smx_rdv_t rdv){
+smx_synchro_t simcall_HANDLER_rdv_get_head(smx_simcall_t simcall, smx_rdv_t rdv){
return SIMIX_rdv_get_head(rdv);
}
-smx_action_t SIMIX_rdv_get_head(smx_rdv_t rdv)
+smx_synchro_t SIMIX_rdv_get_head(smx_rdv_t rdv)
{
return xbt_fifo_get_item_content(xbt_fifo_get_first_item(rdv->comm_fifo));
}
}
/**
- * \brief Pushes a communication action into a rendez-vous point
+ * \brief Pushes a communication synchro into a rendez-vous point
* \param rdv The rendez-vous point
- * \param comm The communication action
+ * \param comm The communication synchro
*/
-static XBT_INLINE void SIMIX_rdv_push(smx_rdv_t rdv, smx_action_t comm)
+static XBT_INLINE void SIMIX_rdv_push(smx_rdv_t rdv, smx_synchro_t comm)
{
xbt_fifo_push(rdv->comm_fifo, comm);
comm->comm.rdv = rdv;
}
/**
- * \brief Removes a communication action from a rendez-vous point
+ * \brief Removes a communication synchro from a rendez-vous point
* \param rdv The rendez-vous point
- * \param comm The communication action
+ * \param comm The communication synchro
*/
-XBT_INLINE void SIMIX_rdv_remove(smx_rdv_t rdv, smx_action_t comm)
+XBT_INLINE void SIMIX_rdv_remove(smx_rdv_t rdv, smx_synchro_t comm)
{
xbt_fifo_remove(rdv->comm_fifo, comm);
comm->comm.rdv = NULL;
}
/**
- * \brief Checks if there is a communication action queued in a fifo matching our needs
+ * \brief Checks if there is a communication synchro queued in a fifo matching our needs
* \param type The type of communication we are looking for (comm_send, comm_recv)
- * \return The communication action if found, NULL otherwise
+ * \return The communication synchro if found, NULL otherwise
*/
-smx_action_t SIMIX_fifo_get_comm(xbt_fifo_t fifo, e_smx_comm_type_t type,
- int (*match_fun)(void *, void *,smx_action_t),
- void *this_user_data, smx_action_t my_action)
+smx_synchro_t SIMIX_fifo_get_comm(xbt_fifo_t fifo, e_smx_comm_type_t type,
+ int (*match_fun)(void *, void *,smx_synchro_t),
+ void *this_user_data, smx_synchro_t my_synchro)
{
- smx_action_t action;
+ smx_synchro_t synchro;
xbt_fifo_item_t item;
void* other_user_data = NULL;
- xbt_fifo_foreach(fifo, item, action, smx_action_t) {
- if (action->comm.type == SIMIX_COMM_SEND) {
- other_user_data = action->comm.src_data;
- } else if (action->comm.type == SIMIX_COMM_RECEIVE) {
- other_user_data = action->comm.dst_data;
+ xbt_fifo_foreach(fifo, item, synchro, smx_synchro_t) {
+ if (synchro->comm.type == SIMIX_COMM_SEND) {
+ other_user_data = synchro->comm.src_data;
+ } else if (synchro->comm.type == SIMIX_COMM_RECEIVE) {
+ other_user_data = synchro->comm.dst_data;
}
- if (action->comm.type == type &&
- (!match_fun || match_fun(this_user_data, other_user_data, action)) &&
- (!action->comm.match_fun || action->comm.match_fun(other_user_data, this_user_data, my_action))) {
- XBT_DEBUG("Found a matching communication action %p", action);
+ if (synchro->comm.type == type &&
+ (!match_fun || match_fun(this_user_data, other_user_data, synchro)) &&
+ (!synchro->comm.match_fun || synchro->comm.match_fun(other_user_data, this_user_data, my_synchro))) {
+ XBT_DEBUG("Found a matching communication synchro %p", synchro);
xbt_fifo_remove_item(fifo, item);
xbt_fifo_free_item(item);
- action->comm.refcount++;
+ synchro->comm.refcount++;
#ifdef HAVE_MC
- action->comm.rdv_cpy = action->comm.rdv;
+ synchro->comm.rdv_cpy = synchro->comm.rdv;
#endif
- action->comm.rdv = NULL;
- return action;
+ synchro->comm.rdv = NULL;
+ return synchro;
}
- XBT_DEBUG("Sorry, communication action %p does not match our needs:"
+ XBT_DEBUG("Sorry, communication synchro %p does not match our needs:"
" its type is %d but we are looking for a comm of type %d (or maybe the filtering didn't match)",
- action, (int)action->comm.type, (int)type);
+ synchro, (int)synchro->comm.type, (int)type);
}
- XBT_DEBUG("No matching communication action found");
+ XBT_DEBUG("No matching communication synchro found");
return NULL;
}
/**
- * \brief Checks if there is a communication action queued in a fifo matching our needs, but leave it there
+ * \brief Checks if there is a communication synchro queued in a fifo matching our needs, but leave it there
* \param type The type of communication we are looking for (comm_send, comm_recv)
- * \return The communication action if found, NULL otherwise
+ * \return The communication synchro if found, NULL otherwise
*/
-smx_action_t SIMIX_fifo_probe_comm(xbt_fifo_t fifo, e_smx_comm_type_t type,
- int (*match_fun)(void *, void *,smx_action_t),
- void *this_user_data, smx_action_t my_action)
+smx_synchro_t SIMIX_fifo_probe_comm(xbt_fifo_t fifo, e_smx_comm_type_t type,
+ int (*match_fun)(void *, void *,smx_synchro_t),
+ void *this_user_data, smx_synchro_t my_synchro)
{
- smx_action_t action;
+ smx_synchro_t synchro;
xbt_fifo_item_t item;
void* other_user_data = NULL;
- xbt_fifo_foreach(fifo, item, action, smx_action_t) {
- if (action->comm.type == SIMIX_COMM_SEND) {
- other_user_data = action->comm.src_data;
- } else if (action->comm.type == SIMIX_COMM_RECEIVE) {
- other_user_data = action->comm.dst_data;
+ xbt_fifo_foreach(fifo, item, synchro, smx_synchro_t) {
+ if (synchro->comm.type == SIMIX_COMM_SEND) {
+ other_user_data = synchro->comm.src_data;
+ } else if (synchro->comm.type == SIMIX_COMM_RECEIVE) {
+ other_user_data = synchro->comm.dst_data;
}
- if (action->comm.type == type &&
- (!match_fun || match_fun(this_user_data, other_user_data, action)) &&
- (!action->comm.match_fun || action->comm.match_fun(other_user_data, this_user_data, my_action))) {
- XBT_DEBUG("Found a matching communication action %p", action);
- action->comm.refcount++;
+ if (synchro->comm.type == type &&
+ (!match_fun || match_fun(this_user_data, other_user_data, synchro)) &&
+ (!synchro->comm.match_fun || synchro->comm.match_fun(other_user_data, this_user_data, my_synchro))) {
+ XBT_DEBUG("Found a matching communication synchro %p", synchro);
+ synchro->comm.refcount++;
- return action;
+ return synchro;
}
- XBT_DEBUG("Sorry, communication action %p does not match our needs:"
+ XBT_DEBUG("Sorry, communication synchro %p does not match our needs:"
" its type is %d but we are looking for a comm of type %d (or maybe the filtering didn't match)",
- action, (int)action->comm.type, (int)type);
+ synchro, (int)synchro->comm.type, (int)type);
}
- XBT_DEBUG("No matching communication action found");
+ XBT_DEBUG("No matching communication synchro found");
return NULL;
}
/******************************************************************************/
-/* Communication Actions */
+/* Communication synchros */
/******************************************************************************/
/**
- * \brief Creates a new communicate action
+ * \brief Creates a new communicate synchro
* \param type The direction of communication (comm_send, comm_recv)
- * \return The new communicate action
+ * \return The new communicate synchro
*/
-smx_action_t SIMIX_comm_new(e_smx_comm_type_t type)
+smx_synchro_t SIMIX_comm_new(e_smx_comm_type_t type)
{
- smx_action_t act;
+ smx_synchro_t synchro;
/* alloc structures */
- act = xbt_mallocator_get(simix_global->action_mallocator);
+ synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
- act->type = SIMIX_ACTION_COMMUNICATE;
- act->state = SIMIX_WAITING;
+ synchro->type = SIMIX_SYNC_COMMUNICATE;
+ synchro->state = SIMIX_WAITING;
/* set communication */
- act->comm.type = type;
- act->comm.refcount = 1;
- act->comm.src_data=NULL;
- act->comm.dst_data=NULL;
+ synchro->comm.type = type;
+ synchro->comm.refcount = 1;
+ synchro->comm.src_data=NULL;
+ synchro->comm.dst_data=NULL;
#ifdef HAVE_LATENCY_BOUND_TRACKING
//initialize with unknown value
- act->latency_limited = -1;
+ synchro->latency_limited = -1;
#endif
#ifdef HAVE_TRACING
- act->category = NULL;
+ synchro->category = NULL;
#endif
- XBT_DEBUG("Create communicate action %p", act);
+ XBT_DEBUG("Create communicate synchro %p", synchro);
++smx_total_comms;
- return act;
+ return synchro;
}
/**
- * \brief Destroy a communicate action
- * \param action The communicate action to be destroyed
+ * \brief Destroy a communicate synchro
+ * \param synchro The communicate synchro to be destroyed
*/
-void SIMIX_comm_destroy(smx_action_t action)
+void SIMIX_comm_destroy(smx_synchro_t synchro)
{
- XBT_DEBUG("Destroy action %p (refcount: %d), state: %d",
- action, action->comm.refcount, (int)action->state);
+ XBT_DEBUG("Destroy synchro %p (refcount: %d), state: %d",
+ synchro, synchro->comm.refcount, (int)synchro->state);
- if (action->comm.refcount <= 0) {
+ if (synchro->comm.refcount <= 0) {
xbt_backtrace_display_current();
xbt_die("The refcount of comm %p is already 0 before decreasing it. "
- "That's a bug! If you didn't test and/or wait the same communication twice in your code, then the bug is SimGrid's...", action);
+ "That's a bug! If you didn't test and/or wait the same communication twice in your code, then the bug is SimGrid's...", synchro);
}
- action->comm.refcount--;
- if (action->comm.refcount > 0)
+ synchro->comm.refcount--;
+ if (synchro->comm.refcount > 0)
return;
- XBT_DEBUG("Really free communication %p; refcount is now %d", action,
- action->comm.refcount);
+ XBT_DEBUG("Really free communication %p; refcount is now %d", synchro,
+ synchro->comm.refcount);
#ifdef HAVE_LATENCY_BOUND_TRACKING
- action->latency_limited = SIMIX_comm_is_latency_bounded( action ) ;
+ synchro->latency_limited = SIMIX_comm_is_latency_bounded( synchro ) ;
#endif
- xbt_free(action->name);
- SIMIX_comm_destroy_internal_actions(action);
+ xbt_free(synchro->name);
+ SIMIX_comm_destroy_internal_actions(synchro);
- if (action->comm.detached && action->state != SIMIX_DONE) {
+ if (synchro->comm.detached && synchro->state != SIMIX_DONE) {
/* the communication has failed and was detached:
* we have to free the buffer */
- if (action->comm.clean_fun) {
- action->comm.clean_fun(action->comm.src_buff);
+ if (synchro->comm.clean_fun) {
+ synchro->comm.clean_fun(synchro->comm.src_buff);
}
- action->comm.src_buff = NULL;
+ synchro->comm.src_buff = NULL;
}
- if(action->comm.rdv)
- SIMIX_rdv_remove(action->comm.rdv, action);
+ if(synchro->comm.rdv)
+ SIMIX_rdv_remove(synchro->comm.rdv, synchro);
- xbt_mallocator_release(simix_global->action_mallocator, action);
+ xbt_mallocator_release(simix_global->synchro_mallocator, synchro);
}
-void SIMIX_comm_destroy_internal_actions(smx_action_t action)
+void SIMIX_comm_destroy_internal_actions(smx_synchro_t synchro)
{
- if (action->comm.surf_comm){
+ if (synchro->comm.surf_comm){
#ifdef HAVE_LATENCY_BOUND_TRACKING
- action->latency_limited = SIMIX_comm_is_latency_bounded(action);
+ synchro->latency_limited = SIMIX_comm_is_latency_bounded(synchro);
#endif
- surf_action_unref(action->comm.surf_comm);
- action->comm.surf_comm = NULL;
+ surf_action_unref(synchro->comm.surf_comm);
+ synchro->comm.surf_comm = NULL;
}
- if (action->comm.src_timeout){
- surf_action_unref(action->comm.src_timeout);
- action->comm.src_timeout = NULL;
+ if (synchro->comm.src_timeout){
+ surf_action_unref(synchro->comm.src_timeout);
+ synchro->comm.src_timeout = NULL;
}
- if (action->comm.dst_timeout){
- surf_action_unref(action->comm.dst_timeout);
- action->comm.dst_timeout = NULL;
+ if (synchro->comm.dst_timeout){
+ surf_action_unref(synchro->comm.dst_timeout);
+ synchro->comm.dst_timeout = NULL;
}
}
void simcall_HANDLER_comm_send(smx_simcall_t simcall, smx_process_t src, smx_rdv_t rdv,
double task_size, double rate,
void *src_buff, size_t src_buff_size,
- int (*match_fun)(void *, void *,smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*match_fun)(void *, void *,smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double timeout){
- smx_action_t comm = SIMIX_comm_isend(src, rdv, task_size, rate,
+ smx_synchro_t comm = SIMIX_comm_isend(src, rdv, task_size, rate,
src_buff, src_buff_size, match_fun, NULL, copy_data_fun,
data, 0);
SIMCALL_SET_MC_VALUE(simcall, 0);
simcall_HANDLER_comm_wait(simcall, comm, timeout);
}
-smx_action_t simcall_HANDLER_comm_isend(smx_simcall_t simcall, smx_process_t src, smx_rdv_t rdv,
+smx_synchro_t simcall_HANDLER_comm_isend(smx_simcall_t simcall, smx_process_t src, smx_rdv_t rdv,
double task_size, double rate,
void *src_buff, size_t src_buff_size,
- int (*match_fun)(void *, void *,smx_action_t),
+ int (*match_fun)(void *, void *,smx_synchro_t),
void (*clean_fun)(void *),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, int detached){
return SIMIX_comm_isend(src, rdv, task_size, rate, src_buff,
src_buff_size, match_fun, clean_fun, copy_data_fun, data, detached);
}
-smx_action_t SIMIX_comm_isend(smx_process_t src_proc, smx_rdv_t rdv,
+smx_synchro_t SIMIX_comm_isend(smx_process_t src_proc, smx_rdv_t rdv,
double task_size, double rate,
void *src_buff, size_t src_buff_size,
- int (*match_fun)(void *, void *,smx_action_t),
- void (*clean_fun)(void *), // used to free the action in case of problem after a detached send
- void (*copy_data_fun)(smx_action_t, void*, size_t), // used to copy data if not default one
+ int (*match_fun)(void *, void *,smx_synchro_t),
+ void (*clean_fun)(void *), // used to free the synchro in case of problem after a detached send
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t), // used to copy data if not default one
void *data,
int detached)
{
XBT_DEBUG("send from %p", rdv);
- /* Prepare an action describing us, so that it gets passed to the user-provided filter of other side */
- smx_action_t this_action = SIMIX_comm_new(SIMIX_COMM_SEND);
+ /* Prepare a synchro describing us, so that it gets passed to the user-provided filter of other side */
+ smx_synchro_t this_synchro = SIMIX_comm_new(SIMIX_COMM_SEND);
- /* Look for communication action matching our needs. We also provide a description of
+ /* Look for communication synchro matching our needs. We also provide a description of
* ourself so that the other side also gets a chance of choosing if it wants to match with us.
*
* If it is not found then push our communication into the rendez-vous point */
- smx_action_t other_action = SIMIX_fifo_get_comm(rdv->comm_fifo, SIMIX_COMM_RECEIVE, match_fun, data, this_action);
+ smx_synchro_t other_synchro = SIMIX_fifo_get_comm(rdv->comm_fifo, SIMIX_COMM_RECEIVE, match_fun, data, this_synchro);
- if (!other_action) {
- other_action = this_action;
+ if (!other_synchro) {
+ other_synchro = this_synchro;
if (rdv->permanent_receiver!=NULL){
//this mailbox is for small messages, which have to be sent right now
- other_action->state = SIMIX_READY;
- other_action->comm.dst_proc=rdv->permanent_receiver;
- other_action->comm.refcount++;
- xbt_fifo_push(rdv->done_comm_fifo,other_action);
- other_action->comm.rdv=rdv;
- XBT_DEBUG("pushing a message into the permanent receive fifo %p, comm %p", rdv, &(other_action->comm));
+ other_synchro->state = SIMIX_READY;
+ other_synchro->comm.dst_proc=rdv->permanent_receiver;
+ other_synchro->comm.refcount++;
+ xbt_fifo_push(rdv->done_comm_fifo,other_synchro);
+ other_synchro->comm.rdv=rdv;
+ XBT_DEBUG("pushing a message into the permanent receive fifo %p, comm %p", rdv, &(other_synchro->comm));
}else{
- SIMIX_rdv_push(rdv, this_action);
+ SIMIX_rdv_push(rdv, this_synchro);
}
} else {
XBT_DEBUG("Receive already pushed");
- SIMIX_comm_destroy(this_action);
+ SIMIX_comm_destroy(this_synchro);
--smx_total_comms; // this creation was a pure waste
- other_action->state = SIMIX_READY;
- other_action->comm.type = SIMIX_COMM_READY;
+ other_synchro->state = SIMIX_READY;
+ other_synchro->comm.type = SIMIX_COMM_READY;
}
- xbt_fifo_push(src_proc->comms, other_action);
+ xbt_fifo_push(src_proc->comms, other_synchro);
- /* if the communication action is detached then decrease the refcount
+ /* if the communication synchro is detached then decrease the refcount
* by one, so it will be eliminated by the receiver's destroy call */
if (detached) {
- other_action->comm.detached = 1;
- other_action->comm.refcount--;
- other_action->comm.clean_fun = clean_fun;
+ other_synchro->comm.detached = 1;
+ other_synchro->comm.refcount--;
+ other_synchro->comm.clean_fun = clean_fun;
} else {
- other_action->comm.clean_fun = NULL;
+ other_synchro->comm.clean_fun = NULL;
}
- /* Setup the communication action */
- other_action->comm.src_proc = src_proc;
- other_action->comm.task_size = task_size;
- other_action->comm.rate = rate;
- other_action->comm.src_buff = src_buff;
- other_action->comm.src_buff_size = src_buff_size;
- other_action->comm.src_data = data;
+ /* Setup the communication synchro */
+ other_synchro->comm.src_proc = src_proc;
+ other_synchro->comm.task_size = task_size;
+ other_synchro->comm.rate = rate;
+ other_synchro->comm.src_buff = src_buff;
+ other_synchro->comm.src_buff_size = src_buff_size;
+ other_synchro->comm.src_data = data;
- other_action->comm.match_fun = match_fun;
- other_action->comm.copy_data_fun = copy_data_fun;
+ other_synchro->comm.match_fun = match_fun;
+ other_synchro->comm.copy_data_fun = copy_data_fun;
if (MC_is_active()) {
- other_action->state = SIMIX_RUNNING;
- return (detached ? NULL : other_action);
+ other_synchro->state = SIMIX_RUNNING;
+ return (detached ? NULL : other_synchro);
}
- SIMIX_comm_start(other_action);
- return (detached ? NULL : other_action);
+ SIMIX_comm_start(other_synchro);
+ return (detached ? NULL : other_synchro);
}
void simcall_HANDLER_comm_recv(smx_simcall_t simcall, smx_rdv_t rdv,
void *dst_buff, size_t *dst_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double timeout, double rate)
{
- smx_action_t comm = SIMIX_comm_irecv(simcall->issuer, rdv, dst_buff,
+ smx_synchro_t comm = SIMIX_comm_irecv(simcall->issuer, rdv, dst_buff,
dst_buff_size, match_fun, copy_data_fun, data, rate);
SIMCALL_SET_MC_VALUE(simcall, 0);
simcall_HANDLER_comm_wait(simcall, comm, timeout);
}
-smx_action_t simcall_HANDLER_comm_irecv(smx_simcall_t simcall, smx_rdv_t rdv,
+smx_synchro_t simcall_HANDLER_comm_irecv(smx_simcall_t simcall, smx_rdv_t rdv,
void *dst_buff, size_t *dst_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double rate)
{
return SIMIX_comm_irecv(simcall->issuer, rdv, dst_buff, dst_buff_size,
match_fun, copy_data_fun, data, rate);
}
-smx_action_t SIMIX_comm_irecv(smx_process_t dst_proc, smx_rdv_t rdv,
+smx_synchro_t SIMIX_comm_irecv(smx_process_t dst_proc, smx_rdv_t rdv,
void *dst_buff, size_t *dst_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t), // used to copy data if not default one
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t), // used to copy data if not default one
void *data, double rate)
{
XBT_DEBUG("recv from %p %p", rdv, rdv->comm_fifo);
- smx_action_t this_action = SIMIX_comm_new(SIMIX_COMM_RECEIVE);
+ smx_synchro_t this_synchro = SIMIX_comm_new(SIMIX_COMM_RECEIVE);
- smx_action_t other_action;
+ smx_synchro_t other_synchro;
//communication already done, get it inside the fifo of completed comms
//permanent receive v1
//int already_received=0;
XBT_DEBUG("We have a comm that has probably already been received, trying to match it, to skip the communication");
//find a match in the already received fifo
- other_action = SIMIX_fifo_get_comm(rdv->done_comm_fifo, SIMIX_COMM_SEND, match_fun, data, this_action);
+ other_synchro = SIMIX_fifo_get_comm(rdv->done_comm_fifo, SIMIX_COMM_SEND, match_fun, data, this_synchro);
//if not found, assume the receiver came first, register it to the mailbox in the classical way
- if (!other_action) {
+ if (!other_synchro) {
XBT_DEBUG("We have messages in the permanent receive list, but not the one we are looking for, pushing request into fifo");
- other_action = this_action;
- SIMIX_rdv_push(rdv, this_action);
+ other_synchro = this_synchro;
+ SIMIX_rdv_push(rdv, this_synchro);
}else{
- if(other_action->comm.surf_comm && SIMIX_comm_get_remains(other_action)==0.0)
+ if(other_synchro->comm.surf_comm && SIMIX_comm_get_remains(other_synchro)==0.0)
{
- XBT_DEBUG("comm %p has been already sent, and is finished, destroy it",&(other_action->comm));
- other_action->state = SIMIX_DONE;
- other_action->comm.type = SIMIX_COMM_DONE;
- other_action->comm.rdv = NULL;
+ XBT_DEBUG("comm %p has been already sent, and is finished, destroy it",&(other_synchro->comm));
+ other_synchro->state = SIMIX_DONE;
+ other_synchro->comm.type = SIMIX_COMM_DONE;
+ other_synchro->comm.rdv = NULL;
}/*else{
XBT_DEBUG("Not yet finished, we have to wait %d", xbt_fifo_size(rdv->comm_fifo));
}*/
- other_action->comm.refcount--;
- SIMIX_comm_destroy(this_action);
+ other_synchro->comm.refcount--;
+ SIMIX_comm_destroy(this_synchro);
--smx_total_comms; // this creation was a pure waste
}
}else{
- /* Prepare an action describing us, so that it gets passed to the user-provided filter of other side */
+ /* Prepare a synchro describing us, so that it gets passed to the user-provided filter of other side */
- /* Look for communication action matching our needs. We also provide a description of
+ /* Look for communication synchro matching our needs. We also provide a description of
* ourself so that the other side also gets a chance of choosing if it wants to match with us.
*
* If it is not found then push our communication into the rendez-vous point */
- other_action = SIMIX_fifo_get_comm(rdv->comm_fifo, SIMIX_COMM_SEND, match_fun, data, this_action);
+ other_synchro = SIMIX_fifo_get_comm(rdv->comm_fifo, SIMIX_COMM_SEND, match_fun, data, this_synchro);
- if (!other_action) {
+ if (!other_synchro) {
XBT_DEBUG("Receive pushed first %d", xbt_fifo_size(rdv->comm_fifo));
- other_action = this_action;
- SIMIX_rdv_push(rdv, this_action);
+ other_synchro = this_synchro;
+ SIMIX_rdv_push(rdv, this_synchro);
} else {
- SIMIX_comm_destroy(this_action);
+ SIMIX_comm_destroy(this_synchro);
--smx_total_comms; // this creation was a pure waste
- other_action->state = SIMIX_READY;
- other_action->comm.type = SIMIX_COMM_READY;
- //other_action->comm.refcount--;
+ other_synchro->state = SIMIX_READY;
+ other_synchro->comm.type = SIMIX_COMM_READY;
+ //other_synchro->comm.refcount--;
}
- xbt_fifo_push(dst_proc->comms, other_action);
+ xbt_fifo_push(dst_proc->comms, other_synchro);
}
- /* Setup communication action */
- other_action->comm.dst_proc = dst_proc;
- other_action->comm.dst_buff = dst_buff;
- other_action->comm.dst_buff_size = dst_buff_size;
- other_action->comm.dst_data = data;
+ /* Setup communication synchro */
+ other_synchro->comm.dst_proc = dst_proc;
+ other_synchro->comm.dst_buff = dst_buff;
+ other_synchro->comm.dst_buff_size = dst_buff_size;
+ other_synchro->comm.dst_data = data;
if (rate != -1.0 &&
- (other_action->comm.rate == -1.0 || rate < other_action->comm.rate))
- other_action->comm.rate = rate;
+ (other_synchro->comm.rate == -1.0 || rate < other_synchro->comm.rate))
+ other_synchro->comm.rate = rate;
- other_action->comm.match_fun = match_fun;
- other_action->comm.copy_data_fun = copy_data_fun;
+ other_synchro->comm.match_fun = match_fun;
+ other_synchro->comm.copy_data_fun = copy_data_fun;
/*if(already_received)//do the actual copy, because the first one after the comm didn't have all the info
- SIMIX_comm_copy_data(other_action);*/
+ SIMIX_comm_copy_data(other_synchro);*/
if (MC_is_active()) {
- other_action->state = SIMIX_RUNNING;
- return other_action;
+ other_synchro->state = SIMIX_RUNNING;
+ return other_synchro;
}
- SIMIX_comm_start(other_action);
+ SIMIX_comm_start(other_synchro);
// }
- return other_action;
+ return other_synchro;
}
-smx_action_t simcall_HANDLER_comm_iprobe(smx_simcall_t simcall, smx_rdv_t rdv,
+smx_synchro_t simcall_HANDLER_comm_iprobe(smx_simcall_t simcall, smx_rdv_t rdv,
int type, int src, int tag,
- int (*match_fun)(void *, void *, smx_action_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
void *data){
return SIMIX_comm_iprobe(simcall->issuer, rdv, type, src, tag, match_fun, data);
}
-smx_action_t SIMIX_comm_iprobe(smx_process_t dst_proc, smx_rdv_t rdv, int type, int src,
- int tag, int (*match_fun)(void *, void *, smx_action_t), void *data)
+smx_synchro_t SIMIX_comm_iprobe(smx_process_t dst_proc, smx_rdv_t rdv, int type, int src,
+ int tag, int (*match_fun)(void *, void *, smx_synchro_t), void *data)
{
XBT_DEBUG("iprobe from %p %p", rdv, rdv->comm_fifo);
- smx_action_t this_action;
+ smx_synchro_t this_synchro;
int smx_type;
if(type == 1){
- this_action=SIMIX_comm_new(SIMIX_COMM_SEND);
+ this_synchro=SIMIX_comm_new(SIMIX_COMM_SEND);
smx_type = SIMIX_COMM_RECEIVE;
} else{
- this_action=SIMIX_comm_new(SIMIX_COMM_RECEIVE);
+ this_synchro=SIMIX_comm_new(SIMIX_COMM_RECEIVE);
smx_type = SIMIX_COMM_SEND;
}
- smx_action_t other_action=NULL;
+ smx_synchro_t other_synchro=NULL;
if(rdv->permanent_receiver && xbt_fifo_size(rdv->done_comm_fifo)!=0){
//find a match in the already received fifo
XBT_DEBUG("first try in the perm recv mailbox");
- other_action = SIMIX_fifo_probe_comm(rdv->done_comm_fifo, smx_type, match_fun, data, this_action);
+ other_synchro = SIMIX_fifo_probe_comm(rdv->done_comm_fifo, smx_type, match_fun, data, this_synchro);
}
// }else{
- if(!other_action){
+ if(!other_synchro){
XBT_DEBUG("try in the normal mailbox");
- other_action = SIMIX_fifo_probe_comm(rdv->comm_fifo, smx_type, match_fun, data, this_action);
+ other_synchro = SIMIX_fifo_probe_comm(rdv->comm_fifo, smx_type, match_fun, data, this_synchro);
}
// }
- if(other_action)other_action->comm.refcount--;
+ if(other_synchro)other_synchro->comm.refcount--;
- SIMIX_comm_destroy(this_action);
+ SIMIX_comm_destroy(this_synchro);
--smx_total_comms;
- return other_action;
+ return other_synchro;
}
-void simcall_HANDLER_comm_wait(smx_simcall_t simcall, smx_action_t action, double timeout)
+void simcall_HANDLER_comm_wait(smx_simcall_t simcall, smx_synchro_t synchro, double timeout)
{
/* the simcall may be a wait, a send or a recv */
surf_action_t sleep;
- /* Associate this simcall to the wait action */
- XBT_DEBUG("simcall_HANDLER_comm_wait, %p", action);
+ /* Associate this simcall to the wait synchro */
+ XBT_DEBUG("simcall_HANDLER_comm_wait, %p", synchro);
- xbt_fifo_push(action->simcalls, simcall);
- simcall->issuer->waiting_action = action;
+ xbt_fifo_push(synchro->simcalls, simcall);
+ simcall->issuer->waiting_synchro = synchro;
if (MC_is_active()) {
int idx = SIMCALL_GET_MC_VALUE(simcall);
if (idx == 0) {
- action->state = SIMIX_DONE;
+ synchro->state = SIMIX_DONE;
} else {
/* If we reached this point, the wait simcall must have a timeout */
/* Otherwise it shouldn't be enabled and executed by the MC */
if (timeout == -1)
THROW_IMPOSSIBLE;
- if (action->comm.src_proc == simcall->issuer)
- action->state = SIMIX_SRC_TIMEOUT;
+ if (synchro->comm.src_proc == simcall->issuer)
+ synchro->state = SIMIX_SRC_TIMEOUT;
else
- action->state = SIMIX_DST_TIMEOUT;
+ synchro->state = SIMIX_DST_TIMEOUT;
}
- SIMIX_comm_finish(action);
+ SIMIX_comm_finish(synchro);
return;
}
- /* If the action has already finish perform the error handling, */
- /* otherwise set up a waiting timeout on the right side */
- if (action->state != SIMIX_WAITING && action->state != SIMIX_RUNNING) {
- SIMIX_comm_finish(action);
+ /* If the synchro has already finish perform the error handling, */
+ /* otherwise set up a waiting timeout on the right side */
+ if (synchro->state != SIMIX_WAITING && synchro->state != SIMIX_RUNNING) {
+ SIMIX_comm_finish(synchro);
} else { /* if (timeout >= 0) { we need a surf sleep action even when there is no timeout, otherwise surf won't tell us when the host fails */
sleep = surf_workstation_sleep(simcall->issuer->smx_host, timeout);
- surf_action_set_data(sleep, action);
+ surf_action_set_data(sleep, synchro);
- if (simcall->issuer == action->comm.src_proc)
- action->comm.src_timeout = sleep;
+ if (simcall->issuer == synchro->comm.src_proc)
+ synchro->comm.src_timeout = sleep;
else
- action->comm.dst_timeout = sleep;
+ synchro->comm.dst_timeout = sleep;
}
}
-void simcall_HANDLER_comm_test(smx_simcall_t simcall, smx_action_t action)
+void simcall_HANDLER_comm_test(smx_simcall_t simcall, smx_synchro_t synchro)
{
if(MC_is_active()){
- simcall_comm_test__set__result(simcall, action->comm.src_proc && action->comm.dst_proc);
+ simcall_comm_test__set__result(simcall, synchro->comm.src_proc && synchro->comm.dst_proc);
if(simcall_comm_test__get__result(simcall)){
- action->state = SIMIX_DONE;
- xbt_fifo_push(action->simcalls, simcall);
- SIMIX_comm_finish(action);
+ synchro->state = SIMIX_DONE;
+ xbt_fifo_push(synchro->simcalls, simcall);
+ SIMIX_comm_finish(synchro);
}else{
SIMIX_simcall_answer(simcall);
}
return;
}
- simcall_comm_test__set__result(simcall, (action->state != SIMIX_WAITING && action->state != SIMIX_RUNNING));
+ simcall_comm_test__set__result(simcall, (synchro->state != SIMIX_WAITING && synchro->state != SIMIX_RUNNING));
if (simcall_comm_test__get__result(simcall)) {
- xbt_fifo_push(action->simcalls, simcall);
- SIMIX_comm_finish(action);
+ xbt_fifo_push(synchro->simcalls, simcall);
+ SIMIX_comm_finish(synchro);
} else {
SIMIX_simcall_answer(simcall);
}
}
-void simcall_HANDLER_comm_testany(smx_simcall_t simcall, xbt_dynar_t actions)
+void simcall_HANDLER_comm_testany(smx_simcall_t simcall, xbt_dynar_t synchros)
{
unsigned int cursor;
- smx_action_t action;
+ smx_synchro_t synchro;
simcall_comm_testany__set__result(simcall, -1);
if (MC_is_active()){
if(idx == -1){
SIMIX_simcall_answer(simcall);
}else{
- action = xbt_dynar_get_as(actions, idx, smx_action_t);
+ synchro = xbt_dynar_get_as(synchros, idx, smx_synchro_t);
simcall_comm_testany__set__result(simcall, idx);
- xbt_fifo_push(action->simcalls, simcall);
- action->state = SIMIX_DONE;
- SIMIX_comm_finish(action);
+ xbt_fifo_push(synchro->simcalls, simcall);
+ synchro->state = SIMIX_DONE;
+ SIMIX_comm_finish(synchro);
}
return;
}
- xbt_dynar_foreach(simcall_comm_testany__get__comms(simcall), cursor,action) {
- if (action->state != SIMIX_WAITING && action->state != SIMIX_RUNNING) {
+ xbt_dynar_foreach(simcall_comm_testany__get__comms(simcall), cursor,synchro) {
+ if (synchro->state != SIMIX_WAITING && synchro->state != SIMIX_RUNNING) {
simcall_comm_testany__set__result(simcall, cursor);
- xbt_fifo_push(action->simcalls, simcall);
- SIMIX_comm_finish(action);
+ xbt_fifo_push(synchro->simcalls, simcall);
+ SIMIX_comm_finish(synchro);
return;
}
}
SIMIX_simcall_answer(simcall);
}
-void simcall_HANDLER_comm_waitany(smx_simcall_t simcall, xbt_dynar_t actions)
+void simcall_HANDLER_comm_waitany(smx_simcall_t simcall, xbt_dynar_t synchros)
{
- smx_action_t action;
+ smx_synchro_t synchro;
unsigned int cursor = 0;
if (MC_is_active()){
int idx = SIMCALL_GET_MC_VALUE(simcall);
- action = xbt_dynar_get_as(actions, idx, smx_action_t);
- xbt_fifo_push(action->simcalls, simcall);
+ synchro = xbt_dynar_get_as(synchros, idx, smx_synchro_t);
+ xbt_fifo_push(synchro->simcalls, simcall);
simcall_comm_waitany__set__result(simcall, idx);
- action->state = SIMIX_DONE;
- SIMIX_comm_finish(action);
+ synchro->state = SIMIX_DONE;
+ SIMIX_comm_finish(synchro);
return;
}
- xbt_dynar_foreach(actions, cursor, action){
- /* associate this simcall to the the action */
- xbt_fifo_push(action->simcalls, simcall);
+ xbt_dynar_foreach(synchros, cursor, synchro){
+ /* associate this simcall to the the synchro */
+ xbt_fifo_push(synchro->simcalls, simcall);
- /* see if the action is already finished */
- if (action->state != SIMIX_WAITING && action->state != SIMIX_RUNNING){
- SIMIX_comm_finish(action);
+ /* see if the synchro is already finished */
+ if (synchro->state != SIMIX_WAITING && synchro->state != SIMIX_RUNNING){
+ SIMIX_comm_finish(synchro);
break;
}
}
void SIMIX_waitany_remove_simcall_from_actions(smx_simcall_t simcall)
{
- smx_action_t action;
+ smx_synchro_t synchro;
unsigned int cursor = 0;
- xbt_dynar_t actions = simcall_comm_waitany__get__comms(simcall);
+ xbt_dynar_t synchros = simcall_comm_waitany__get__comms(simcall);
- xbt_dynar_foreach(actions, cursor, action) {
- xbt_fifo_remove(action->simcalls, simcall);
+ xbt_dynar_foreach(synchros, cursor, synchro) {
+ xbt_fifo_remove(synchro->simcalls, simcall);
}
}
/**
- * \brief Starts the simulation of a communication action.
- * \param action the communication action
+ * \brief Starts the simulation of a communication synchro.
+ * \param synchro the communication synchro
*/
-static XBT_INLINE void SIMIX_comm_start(smx_action_t action)
+static XBT_INLINE void SIMIX_comm_start(smx_synchro_t synchro)
{
/* If both the sender and the receiver are already there, start the communication */
- if (action->state == SIMIX_READY) {
+ if (synchro->state == SIMIX_READY) {
- smx_host_t sender = action->comm.src_proc->smx_host;
- smx_host_t receiver = action->comm.dst_proc->smx_host;
+ smx_host_t sender = synchro->comm.src_proc->smx_host;
+ smx_host_t receiver = synchro->comm.dst_proc->smx_host;
- XBT_DEBUG("Starting communication %p from '%s' to '%s'", action,
+ XBT_DEBUG("Starting communication %p from '%s' to '%s'", synchro,
SIMIX_host_get_name(sender), SIMIX_host_get_name(receiver));
- action->comm.surf_comm = surf_workstation_model_communicate(surf_workstation_model,
+ synchro->comm.surf_comm = surf_workstation_model_communicate(surf_workstation_model,
sender, receiver,
- action->comm.task_size, action->comm.rate);
+ synchro->comm.task_size, synchro->comm.rate);
- surf_action_set_data(action->comm.surf_comm, action);
+ surf_action_set_data(synchro->comm.surf_comm, synchro);
- action->state = SIMIX_RUNNING;
+ synchro->state = SIMIX_RUNNING;
/* If a link is failed, detect it immediately */
- if (surf_action_get_state(action->comm.surf_comm) == SURF_ACTION_FAILED) {
+ if (surf_action_get_state(synchro->comm.surf_comm) == SURF_ACTION_FAILED) {
XBT_DEBUG("Communication from '%s' to '%s' failed to start because of a link failure",
SIMIX_host_get_name(sender), SIMIX_host_get_name(receiver));
- action->state = SIMIX_LINK_FAILURE;
- SIMIX_comm_destroy_internal_actions(action);
+ synchro->state = SIMIX_LINK_FAILURE;
+ SIMIX_comm_destroy_internal_actions(synchro);
}
- /* If any of the process is suspend, create the action but stop its execution,
+ /* If any of the process is suspend, create the synchro but stop its execution,
it will be restarted when the sender process resume */
- if (SIMIX_process_is_suspended(action->comm.src_proc) ||
- SIMIX_process_is_suspended(action->comm.dst_proc)) {
- /* FIXME: check what should happen with the action state */
+ if (SIMIX_process_is_suspended(synchro->comm.src_proc) ||
+ SIMIX_process_is_suspended(synchro->comm.dst_proc)) {
+ /* FIXME: check what should happen with the synchro state */
- if (SIMIX_process_is_suspended(action->comm.src_proc))
+ if (SIMIX_process_is_suspended(synchro->comm.src_proc))
XBT_DEBUG("The communication is suspended on startup because src (%s:%s) were suspended since it initiated the communication",
- SIMIX_host_get_name(action->comm.src_proc->smx_host), action->comm.src_proc->name);
+ SIMIX_host_get_name(synchro->comm.src_proc->smx_host), synchro->comm.src_proc->name);
else
XBT_DEBUG("The communication is suspended on startup because dst (%s:%s) were suspended since it initiated the communication",
- SIMIX_host_get_name(action->comm.dst_proc->smx_host), action->comm.dst_proc->name);
+ SIMIX_host_get_name(synchro->comm.dst_proc->smx_host), synchro->comm.dst_proc->name);
- surf_action_suspend(action->comm.surf_comm);
+ surf_action_suspend(synchro->comm.surf_comm);
}
}
}
/**
- * \brief Answers the SIMIX simcalls associated to a communication action.
- * \param action a finished communication action
+ * \brief Answers the SIMIX simcalls associated to a communication synchro.
+ * \param synchro a finished communication synchro
*/
-void SIMIX_comm_finish(smx_action_t action)
+void SIMIX_comm_finish(smx_synchro_t synchro)
{
unsigned int destroy_count = 0;
smx_simcall_t simcall;
- while ((simcall = xbt_fifo_shift(action->simcalls))) {
+ while ((simcall = xbt_fifo_shift(synchro->simcalls))) {
- /* If a waitany simcall is waiting for this action to finish, then remove
- it from the other actions in the waitany list. Afterwards, get the
- position of the actual action in the waitany dynar and
+ /* If a waitany simcall is waiting for this synchro to finish, then remove
+ it from the other synchros in the waitany list. Afterwards, get the
+ position of the actual synchro in the waitany dynar and
return it as the result of the simcall */
if (simcall->call == SIMCALL_NONE) //FIXME: maybe a better way to handle this case
if (simcall->call == SIMCALL_COMM_WAITANY) {
SIMIX_waitany_remove_simcall_from_actions(simcall);
if (!MC_is_active())
- simcall_comm_waitany__set__result(simcall, xbt_dynar_search(simcall_comm_waitany__get__comms(simcall), &action));
+ simcall_comm_waitany__set__result(simcall, xbt_dynar_search(simcall_comm_waitany__get__comms(simcall), &synchro));
}
- /* If the action is still in a rendez-vous point then remove from it */
- if (action->comm.rdv)
- SIMIX_rdv_remove(action->comm.rdv, action);
+ /* If the synchro is still in a rendez-vous point then remove from it */
+ if (synchro->comm.rdv)
+ SIMIX_rdv_remove(synchro->comm.rdv, synchro);
- XBT_DEBUG("SIMIX_comm_finish: action state = %d", (int)action->state);
+ XBT_DEBUG("SIMIX_comm_finish: synchro state = %d", (int)synchro->state);
/* Check out for errors */
- switch (action->state) {
+ switch (synchro->state) {
case SIMIX_DONE:
- XBT_DEBUG("Communication %p complete!", action);
- SIMIX_comm_copy_data(action);
+ XBT_DEBUG("Communication %p complete!", synchro);
+ SIMIX_comm_copy_data(synchro);
break;
case SIMIX_SRC_TIMEOUT:
break;
case SIMIX_SRC_HOST_FAILURE:
- if (simcall->issuer == action->comm.src_proc)
+ if (simcall->issuer == synchro->comm.src_proc)
simcall->issuer->context->iwannadie = 1;
// SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
else
break;
case SIMIX_DST_HOST_FAILURE:
- if (simcall->issuer == action->comm.dst_proc)
+ if (simcall->issuer == synchro->comm.dst_proc)
simcall->issuer->context->iwannadie = 1;
// SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
else
break;
case SIMIX_LINK_FAILURE:
- XBT_DEBUG("Link failure in action %p between '%s' and '%s': posting an exception to the issuer: %s (%p) detached:%d",
- action,
- action->comm.src_proc ? sg_host_name(action->comm.src_proc->smx_host) : NULL,
- action->comm.dst_proc ? sg_host_name(action->comm.dst_proc->smx_host) : NULL,
- simcall->issuer->name, simcall->issuer, action->comm.detached);
- if (action->comm.src_proc == simcall->issuer) {
+ XBT_DEBUG("Link failure in synchro %p between '%s' and '%s': posting an exception to the issuer: %s (%p) detached:%d",
+ synchro,
+ synchro->comm.src_proc ? sg_host_name(synchro->comm.src_proc->smx_host) : NULL,
+ synchro->comm.dst_proc ? sg_host_name(synchro->comm.dst_proc->smx_host) : NULL,
+ simcall->issuer->name, simcall->issuer, synchro->comm.detached);
+ if (synchro->comm.src_proc == simcall->issuer) {
XBT_DEBUG("I'm source");
- } else if (action->comm.dst_proc == simcall->issuer) {
+ } else if (synchro->comm.dst_proc == simcall->issuer) {
XBT_DEBUG("I'm dest");
} else {
XBT_DEBUG("I'm neither source nor dest");
break;
case SIMIX_CANCELED:
- if (simcall->issuer == action->comm.dst_proc)
+ if (simcall->issuer == synchro->comm.dst_proc)
SMX_EXCEPTION(simcall->issuer, cancel_error, 0,
"Communication canceled by the sender");
else
break;
default:
- xbt_die("Unexpected action state in SIMIX_comm_finish: %d", (int)action->state);
+ xbt_die("Unexpected synchro state in SIMIX_comm_finish: %d", (int)synchro->state);
}
/* if there is an exception during a waitany or a testany, indicate the position of the failed communication */
if (simcall->issuer->doexception) {
if (simcall->call == SIMCALL_COMM_WAITANY) {
- simcall->issuer->running_ctx->exception.value = xbt_dynar_search(simcall_comm_waitany__get__comms(simcall), &action);
+ simcall->issuer->running_ctx->exception.value = xbt_dynar_search(simcall_comm_waitany__get__comms(simcall), &synchro);
}
else if (simcall->call == SIMCALL_COMM_TESTANY) {
- simcall->issuer->running_ctx->exception.value = xbt_dynar_search(simcall_comm_testany__get__comms(simcall), &action);
+ simcall->issuer->running_ctx->exception.value = xbt_dynar_search(simcall_comm_testany__get__comms(simcall), &synchro);
}
}
simcall->issuer->context->iwannadie = 1;
}
- simcall->issuer->waiting_action = NULL;
- xbt_fifo_remove(simcall->issuer->comms, action);
- if(action->comm.detached){
- if(simcall->issuer == action->comm.src_proc){
- if(action->comm.dst_proc)
- xbt_fifo_remove(action->comm.dst_proc->comms, action);
+ simcall->issuer->waiting_synchro = NULL;
+ xbt_fifo_remove(simcall->issuer->comms, synchro);
+ if(synchro->comm.detached){
+ if(simcall->issuer == synchro->comm.src_proc){
+ if(synchro->comm.dst_proc)
+ xbt_fifo_remove(synchro->comm.dst_proc->comms, synchro);
}
- if(simcall->issuer == action->comm.dst_proc){
- if(action->comm.src_proc)
- xbt_fifo_remove(action->comm.src_proc->comms, action);
+ if(simcall->issuer == synchro->comm.dst_proc){
+ if(synchro->comm.src_proc)
+ xbt_fifo_remove(synchro->comm.src_proc->comms, synchro);
}
}
SIMIX_simcall_answer(simcall);
}
while (destroy_count-- > 0)
- SIMIX_comm_destroy(action);
+ SIMIX_comm_destroy(synchro);
}
/**
- * \brief This function is called when a Surf communication action is finished.
- * \param action the corresponding Simix communication
+ * \brief This function is called when a Surf communication synchro is finished.
+ * \param synchro the corresponding Simix communication
*/
-void SIMIX_post_comm(smx_action_t action)
+void SIMIX_post_comm(smx_synchro_t synchro)
{
- /* Update action state */
- if (action->comm.src_timeout &&
- surf_action_get_state(action->comm.src_timeout) == SURF_ACTION_DONE)
- action->state = SIMIX_SRC_TIMEOUT;
- else if (action->comm.dst_timeout &&
- surf_action_get_state(action->comm.dst_timeout) == SURF_ACTION_DONE)
- action->state = SIMIX_DST_TIMEOUT;
- else if (action->comm.src_timeout &&
- surf_action_get_state(action->comm.src_timeout) == SURF_ACTION_FAILED)
- action->state = SIMIX_SRC_HOST_FAILURE;
- else if (action->comm.dst_timeout &&
- surf_action_get_state(action->comm.dst_timeout) == SURF_ACTION_FAILED)
- action->state = SIMIX_DST_HOST_FAILURE;
- else if (action->comm.surf_comm &&
- surf_action_get_state(action->comm.surf_comm) == SURF_ACTION_FAILED) {
+ /* Update synchro state */
+ if (synchro->comm.src_timeout &&
+ surf_action_get_state(synchro->comm.src_timeout) == SURF_ACTION_DONE)
+ synchro->state = SIMIX_SRC_TIMEOUT;
+ else if (synchro->comm.dst_timeout &&
+ surf_action_get_state(synchro->comm.dst_timeout) == SURF_ACTION_DONE)
+ synchro->state = SIMIX_DST_TIMEOUT;
+ else if (synchro->comm.src_timeout &&
+ surf_action_get_state(synchro->comm.src_timeout) == SURF_ACTION_FAILED)
+ synchro->state = SIMIX_SRC_HOST_FAILURE;
+ else if (synchro->comm.dst_timeout &&
+ surf_action_get_state(synchro->comm.dst_timeout) == SURF_ACTION_FAILED)
+ synchro->state = SIMIX_DST_HOST_FAILURE;
+ else if (synchro->comm.surf_comm &&
+ surf_action_get_state(synchro->comm.surf_comm) == SURF_ACTION_FAILED) {
XBT_DEBUG("Puta madre. Surf says that the link broke");
- action->state = SIMIX_LINK_FAILURE;
+ synchro->state = SIMIX_LINK_FAILURE;
} else
- action->state = SIMIX_DONE;
+ synchro->state = SIMIX_DONE;
XBT_DEBUG("SIMIX_post_comm: comm %p, state %d, src_proc %p, dst_proc %p, detached: %d",
- action, (int)action->state, action->comm.src_proc, action->comm.dst_proc, action->comm.detached);
+ synchro, (int)synchro->state, synchro->comm.src_proc, synchro->comm.dst_proc, synchro->comm.detached);
/* destroy the surf actions associated with the Simix communication */
- SIMIX_comm_destroy_internal_actions(action);
+ SIMIX_comm_destroy_internal_actions(synchro);
- /* if there are simcalls associated with the action, then answer them */
- if (xbt_fifo_size(action->simcalls)) {
- SIMIX_comm_finish(action);
+ /* if there are simcalls associated with the synchro, then answer them */
+ if (xbt_fifo_size(synchro->simcalls)) {
+ SIMIX_comm_finish(synchro);
}
}
-void simcall_HANDLER_comm_cancel(smx_simcall_t simcall, smx_action_t action){
- SIMIX_comm_cancel(action);
+void simcall_HANDLER_comm_cancel(smx_simcall_t simcall, smx_synchro_t synchro){
+ SIMIX_comm_cancel(synchro);
}
-void SIMIX_comm_cancel(smx_action_t action)
+void SIMIX_comm_cancel(smx_synchro_t synchro)
{
- /* if the action is a waiting state means that it is still in a rdv */
+ /* if the synchro is a waiting state means that it is still in a rdv */
/* so remove from it and delete it */
- if (action->state == SIMIX_WAITING) {
- SIMIX_rdv_remove(action->comm.rdv, action);
- action->state = SIMIX_CANCELED;
+ if (synchro->state == SIMIX_WAITING) {
+ SIMIX_rdv_remove(synchro->comm.rdv, synchro);
+ synchro->state = SIMIX_CANCELED;
}
else if (!MC_is_active() /* when running the MC there are no surf actions */
- && (action->state == SIMIX_READY || action->state == SIMIX_RUNNING)) {
+ && (synchro->state == SIMIX_READY || synchro->state == SIMIX_RUNNING)) {
- surf_action_cancel(action->comm.surf_comm);
+ surf_action_cancel(synchro->comm.surf_comm);
}
}
-void SIMIX_comm_suspend(smx_action_t action)
+void SIMIX_comm_suspend(smx_synchro_t synchro)
{
- /*FIXME: shall we suspend also the timeout actions? */
- if (action->comm.surf_comm)
- surf_action_suspend(action->comm.surf_comm);
+ /*FIXME: shall we suspend also the timeout synchro? */
+ if (synchro->comm.surf_comm)
+ surf_action_suspend(synchro->comm.surf_comm);
/* in the other case, the action will be suspended on creation, in SIMIX_comm_start() */
}
-void SIMIX_comm_resume(smx_action_t action)
+void SIMIX_comm_resume(smx_synchro_t synchro)
{
/*FIXME: check what happen with the timeouts */
- if (action->comm.surf_comm)
- surf_action_resume(action->comm.surf_comm);
- /* in the other case, the action were not really suspended yet, see SIMIX_comm_suspend() and SIMIX_comm_start() */
+ if (synchro->comm.surf_comm)
+ surf_action_resume(synchro->comm.surf_comm);
+ /* in the other case, the synchro were not really suspended yet, see SIMIX_comm_suspend() and SIMIX_comm_start() */
}
-/************* Action Getters **************/
+/************* synchro Getters **************/
-double simcall_HANDLER_comm_get_remains(smx_simcall_t simcall, smx_action_t action){
- return SIMIX_comm_get_remains(action);
+double simcall_HANDLER_comm_get_remains(smx_simcall_t simcall, smx_synchro_t synchro){
+ return SIMIX_comm_get_remains(synchro);
}
/**
* \brief get the amount remaining from the communication
- * \param action The communication
+ * \param synchro The communication
*/
-double SIMIX_comm_get_remains(smx_action_t action)
+double SIMIX_comm_get_remains(smx_synchro_t synchro)
{
double remains;
- if(!action){
+ if(!synchro){
return 0;
}
- switch (action->state) {
+ switch (synchro->state) {
case SIMIX_RUNNING:
- remains = surf_action_get_remains(action->comm.surf_comm);
+ remains = surf_action_get_remains(synchro->comm.surf_comm);
break;
case SIMIX_WAITING:
return remains;
}
-e_smx_state_t simcall_HANDLER_comm_get_state(smx_simcall_t simcall, smx_action_t action){
- return SIMIX_comm_get_state(action);
+e_smx_state_t simcall_HANDLER_comm_get_state(smx_simcall_t simcall, smx_synchro_t synchro){
+ return SIMIX_comm_get_state(synchro);
}
-e_smx_state_t SIMIX_comm_get_state(smx_action_t action)
+e_smx_state_t SIMIX_comm_get_state(smx_synchro_t synchro)
{
- return action->state;
+ return synchro->state;
}
-void* simcall_HANDLER_comm_get_src_data(smx_simcall_t simcall, smx_action_t action){
- return SIMIX_comm_get_src_data(action);
+void* simcall_HANDLER_comm_get_src_data(smx_simcall_t simcall, smx_synchro_t synchro){
+ return SIMIX_comm_get_src_data(synchro);
}
/**
* \brief Return the user data associated to the sender of the communication
- * \param action The communication
+ * \param synchro The communication
* \return the user data
*/
-void* SIMIX_comm_get_src_data(smx_action_t action)
+void* SIMIX_comm_get_src_data(smx_synchro_t synchro)
{
- return action->comm.src_data;
+ return synchro->comm.src_data;
}
-void* simcall_HANDLER_comm_get_dst_data(smx_simcall_t simcall, smx_action_t action){
- return SIMIX_comm_get_dst_data(action);
+void* simcall_HANDLER_comm_get_dst_data(smx_simcall_t simcall, smx_synchro_t synchro){
+ return SIMIX_comm_get_dst_data(synchro);
}
/**
* \brief Return the user data associated to the receiver of the communication
- * \param action The communication
+ * \param synchro The communication
* \return the user data
*/
-void* SIMIX_comm_get_dst_data(smx_action_t action)
+void* SIMIX_comm_get_dst_data(smx_synchro_t synchro)
{
- return action->comm.dst_data;
+ return synchro->comm.dst_data;
}
-smx_process_t simcall_HANDLER_comm_get_src_proc(smx_simcall_t simcall, smx_action_t action){
- return SIMIX_comm_get_src_proc(action);
+smx_process_t simcall_HANDLER_comm_get_src_proc(smx_simcall_t simcall, smx_synchro_t synchro){
+ return SIMIX_comm_get_src_proc(synchro);
}
-smx_process_t SIMIX_comm_get_src_proc(smx_action_t action)
+smx_process_t SIMIX_comm_get_src_proc(smx_synchro_t synchro)
{
- return action->comm.src_proc;
+ return synchro->comm.src_proc;
}
-smx_process_t simcall_HANDLER_comm_get_dst_proc(smx_simcall_t simcall, smx_action_t action){
- return SIMIX_comm_get_dst_proc(action);
+smx_process_t simcall_HANDLER_comm_get_dst_proc(smx_simcall_t simcall, smx_synchro_t synchro){
+ return SIMIX_comm_get_dst_proc(synchro);
}
-smx_process_t SIMIX_comm_get_dst_proc(smx_action_t action)
+smx_process_t SIMIX_comm_get_dst_proc(smx_synchro_t synchro)
{
- return action->comm.dst_proc;
+ return synchro->comm.dst_proc;
}
#ifdef HAVE_LATENCY_BOUND_TRACKING
-int simcall_HANDLER_comm_is_latency_bounded(smx_simcall_t simcall, smx_action_t action)
+int simcall_HANDLER_comm_is_latency_bounded(smx_simcall_t simcall, smx_synchro_t synchro)
{
- return SIMIX_comm_is_latency_bounded(action);
+ return SIMIX_comm_is_latency_bounded(synchro);
}
/**
* \brief verify if communication is latency bounded
* \param comm The communication
*/
-int SIMIX_comm_is_latency_bounded(smx_action_t action)
+int SIMIX_comm_is_latency_bounded(smx_synchro_t synchro)
{
- if(!action){
+ if(!synchro){
return 0;
}
- if (action->comm.surf_comm){
- XBT_DEBUG("Getting latency limited for surf_action (%p)", action->comm.surf_comm);
- action->latency_limited = surf_network_action_get_latency_limited(action->comm.surf_comm);
- XBT_DEBUG("Action limited is %d", action->latency_limited);
+ if (synchro->comm.surf_comm){
+ XBT_DEBUG("Getting latency limited for surf_action (%p)", synchro->comm.surf_comm);
+ synchro->latency_limited = surf_network_action_get_latency_limited(synchro->comm.surf_comm);
+ XBT_DEBUG("synchro limited is %d", synchro->latency_limited);
}
- return action->latency_limited;
+ return synchro->latency_limited;
}
#endif
/******************************************************************************/
/* SIMIX_comm_copy_data callbacks */
/******************************************************************************/
-static void (*SIMIX_comm_copy_data_callback) (smx_action_t, void*, size_t) =
+static void (*SIMIX_comm_copy_data_callback) (smx_synchro_t, void*, size_t) =
&SIMIX_comm_copy_pointer_callback;
void
-SIMIX_comm_set_copy_data_callback(void (*callback) (smx_action_t, void*, size_t))
+SIMIX_comm_set_copy_data_callback(void (*callback) (smx_synchro_t, void*, size_t))
{
SIMIX_comm_copy_data_callback = callback;
}
-void SIMIX_comm_copy_pointer_callback(smx_action_t comm, void* buff, size_t buff_size)
+void SIMIX_comm_copy_pointer_callback(smx_synchro_t comm, void* buff, size_t buff_size)
{
xbt_assert((buff_size == sizeof(void *)),
"Cannot copy %zu bytes: must be sizeof(void*)", buff_size);
*(void **) (comm->comm.dst_buff) = buff;
}
-void SIMIX_comm_copy_buffer_callback(smx_action_t comm, void* buff, size_t buff_size)
+void SIMIX_comm_copy_buffer_callback(smx_synchro_t comm, void* buff, size_t buff_size)
{
XBT_DEBUG("Copy the data over");
memcpy(comm->comm.dst_buff, buff, buff_size);
* \brief Copy the communication data from the sender's buffer to the receiver's one
* \param comm The communication
*/
-void SIMIX_comm_copy_data(smx_action_t comm)
+void SIMIX_comm_copy_data(smx_synchro_t comm)
{
size_t buff_size = comm->comm.src_buff_size;
/* If there is no data to be copy then return */
void SIMIX_network_exit(void);
#ifdef HAVE_LATENCY_BOUND_TRACKING
-XBT_PUBLIC(int) SIMIX_comm_is_latency_bounded(smx_action_t comm);
+XBT_PUBLIC(int) SIMIX_comm_is_latency_bounded(smx_synchro_t comm);
#endif
smx_rdv_t SIMIX_rdv_create(const char *name);
void SIMIX_rdv_destroy(smx_rdv_t rdv);
smx_rdv_t SIMIX_rdv_get_by_name(const char *name);
-void SIMIX_rdv_remove(smx_rdv_t rdv, smx_action_t comm);
+void SIMIX_rdv_remove(smx_rdv_t rdv, smx_synchro_t comm);
int SIMIX_rdv_comm_count_by_host(smx_rdv_t rdv, smx_host_t host);
-smx_action_t SIMIX_rdv_get_head(smx_rdv_t rdv);
+smx_synchro_t SIMIX_rdv_get_head(smx_rdv_t rdv);
void SIMIX_rdv_set_receiver(smx_rdv_t rdv, smx_process_t proc);
smx_process_t SIMIX_rdv_get_receiver(smx_rdv_t rdv);
-smx_action_t SIMIX_comm_isend(smx_process_t src_proc, smx_rdv_t rdv,
+smx_synchro_t SIMIX_comm_isend(smx_process_t src_proc, smx_rdv_t rdv,
double task_size, double rate,
void *src_buff, size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_action_t),
- void (*clean_fun)(void *), // used to free the action in case of problem after a detached send
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*match_fun)(void *, void *, smx_synchro_t),
+ void (*clean_fun)(void *), // used to free the synchro in case of problem after a detached send
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data,
int detached);
-smx_action_t SIMIX_comm_irecv(smx_process_t dst_proc, smx_rdv_t rdv,
+smx_synchro_t SIMIX_comm_irecv(smx_process_t dst_proc, smx_rdv_t rdv,
void *dst_buff, size_t *dst_buff_size,
- int (*)(void *, void *, smx_action_t),
- void (*copy_data_fun)(smx_action_t, void*, size_t),
+ int (*)(void *, void *, smx_synchro_t),
+ void (*copy_data_fun)(smx_synchro_t, void*, size_t),
void *data, double rate);
-void SIMIX_comm_destroy(smx_action_t action);
-void SIMIX_comm_destroy_internal_actions(smx_action_t action);
-smx_action_t SIMIX_comm_iprobe(smx_process_t dst_proc, smx_rdv_t rdv, int type, int src,
- int tag, int (*match_fun)(void *, void *, smx_action_t), void *data);
-void SIMIX_post_comm(smx_action_t action);
-void SIMIX_comm_cancel(smx_action_t action);
-double SIMIX_comm_get_remains(smx_action_t action);
-e_smx_state_t SIMIX_comm_get_state(smx_action_t action);
-void SIMIX_comm_suspend(smx_action_t action);
-void SIMIX_comm_resume(smx_action_t action);
-smx_process_t SIMIX_comm_get_src_proc(smx_action_t action);
-smx_process_t SIMIX_comm_get_dst_proc(smx_action_t action);
+void SIMIX_comm_destroy(smx_synchro_t synchro);
+void SIMIX_comm_destroy_internal_actions(smx_synchro_t synchro);
+smx_synchro_t SIMIX_comm_iprobe(smx_process_t dst_proc, smx_rdv_t rdv, int type, int src,
+ int tag, int (*match_fun)(void *, void *, smx_synchro_t), void *data);
+void SIMIX_post_comm(smx_synchro_t synchro);
+void SIMIX_comm_cancel(smx_synchro_t synchro);
+double SIMIX_comm_get_remains(smx_synchro_t synchro);
+e_smx_state_t SIMIX_comm_get_state(smx_synchro_t synchro);
+void SIMIX_comm_suspend(smx_synchro_t synchro);
+void SIMIX_comm_resume(smx_synchro_t synchro);
+smx_process_t SIMIX_comm_get_src_proc(smx_synchro_t synchro);
+smx_process_t SIMIX_comm_get_dst_proc(smx_synchro_t synchro);
#endif
smx_creation_func_t create_process_function;
void_pfn_smxprocess_t_smxprocess_t kill_process_function;
void_pfn_smxprocess_t cleanup_process_function;
- xbt_mallocator_t action_mallocator;
+ xbt_mallocator_t synchro_mallocator;
void_pfn_smxhost_t autorestart;
#ifdef TIME_BENCH_AMDAHL
void* args;
} s_smx_timer_t;
-/********************************* Action *************************************/
+/********************************* synchro *************************************/
typedef enum {
- SIMIX_ACTION_EXECUTE,
- SIMIX_ACTION_PARALLEL_EXECUTE,
- SIMIX_ACTION_COMMUNICATE,
- SIMIX_ACTION_JOIN,
- SIMIX_ACTION_SLEEP,
- SIMIX_ACTION_SYNCHRO,
- SIMIX_ACTION_IO,
-} e_smx_action_type_t;
+ SIMIX_SYNC_EXECUTE,
+ SIMIX_SYNC_PARALLEL_EXECUTE,
+ SIMIX_SYNC_COMMUNICATE,
+ SIMIX_SYNC_JOIN,
+ SIMIX_SYNC_SLEEP,
+ SIMIX_SYNC_SYNCHRO,
+ SIMIX_SYNC_IO,
+} e_smx_synchro_type_t;
typedef enum {
SIMIX_COMM_SEND,
SIMIX_IO_STAT
} e_smx_io_type_t;
-/** @brief Action datatype */
-typedef struct s_smx_action {
+/** @brief synchro datatype */
+typedef struct s_smx_synchro {
- e_smx_action_type_t type; /* Type of SIMIX action*/
- e_smx_state_t state; /* State of the action */
- char *name; /* Action name if any */
- xbt_fifo_t simcalls; /* List of simcalls waiting for this action */
+ e_smx_synchro_type_t type; /* Type of SIMIX synchro */
+ e_smx_state_t state; /* State of the synchro */
+ char *name; /* synchro name if any */
+ xbt_fifo_t simcalls; /* List of simcalls waiting for this synchro */
- /* Data specific to each action type */
+ /* Data specific to each synchro type */
union {
struct {
int detached; /* If detached or not */
void (*clean_fun)(void*); /* Function to clean the detached src_buf if something goes wrong */
- int (*match_fun)(void*,void*,smx_action_t); /* Filter function used by the other side. It is used when
+ int (*match_fun)(void*,void*,smx_synchro_t); /* Filter function used by the other side. It is used when
looking if a given communication matches my needs. For that, myself must match the
expectations of the other side, too. See */
- void (*copy_data_fun) (smx_action_t, void*, size_t);
+ void (*copy_data_fun) (smx_synchro_t, void*, size_t);
/* Surf action data */
surf_action_t surf_comm; /* The Surf communication action encapsulated */
#ifdef HAVE_TRACING
char *category; /* simix action category for instrumentation */
#endif
-} s_smx_action_t;
+} s_smx_synchro_t;
void SIMIX_context_mod_init(void);
void SIMIX_context_mod_exit(void);
*/
void SIMIX_process_cleanup(smx_process_t process)
{
- XBT_DEBUG("Cleanup process %s (%p), waiting action %p",
- process->name, process, process->waiting_action);
+ XBT_DEBUG("Cleanup process %s (%p), waiting synchro %p",
+ process->name, process, process->waiting_synchro);
SIMIX_process_on_exit_runall(process);
/* cancel non-blocking communications */
- smx_action_t action;
- while ((action = xbt_fifo_pop(process->comms))) {
+ smx_synchro_t synchro;
+ while ((synchro = xbt_fifo_pop(process->comms))) {
/* make sure no one will finish the comm after this process is destroyed,
* because src_proc or dst_proc would be an invalid pointer */
- SIMIX_comm_cancel(action);
+ SIMIX_comm_cancel(synchro);
- if (action->comm.src_proc == process) {
+ if (synchro->comm.src_proc == process) {
XBT_DEBUG("Found an unfinished send comm %p (detached = %d), state %d, src = %p, dst = %p",
- action, action->comm.detached, (int)action->state, action->comm.src_proc, action->comm.dst_proc);
- action->comm.src_proc = NULL;
+ synchro, synchro->comm.detached, (int)synchro->state, synchro->comm.src_proc, synchro->comm.dst_proc);
+ synchro->comm.src_proc = NULL;
/* I'm not supposed to destroy a detached comm from the sender side, */
- if (!action->comm.detached)
- SIMIX_comm_destroy(action);
+ if (!synchro->comm.detached)
+ SIMIX_comm_destroy(synchro);
else
XBT_DEBUG("Don't destroy it since it's a detached comm");
}
- else if (action->comm.dst_proc == process){
+ else if (synchro->comm.dst_proc == process){
XBT_DEBUG("Found an unfinished recv comm %p, state %d, src = %p, dst = %p",
- action, (int)action->state, action->comm.src_proc, action->comm.dst_proc);
- action->comm.dst_proc = NULL;
+ synchro, (int)synchro->state, synchro->comm.src_proc, synchro->comm.dst_proc);
+ synchro->comm.dst_proc = NULL;
- if (action->comm.detached && action->comm.refcount == 1
- && action->comm.src_proc != NULL) {
+ if (synchro->comm.detached && synchro->comm.refcount == 1
+ && synchro->comm.src_proc != NULL) {
/* the comm will be freed right now, remove it from the sender */
- xbt_fifo_remove(action->comm.src_proc->comms, action);
+ xbt_fifo_remove(synchro->comm.src_proc->comms, synchro);
}
- SIMIX_comm_destroy(action);
+ SIMIX_comm_destroy(synchro);
}
else {
- xbt_die("Communication action %p is in my list but I'm not the sender "
- "or the receiver", action);
+ xbt_die("Communication synchro %p is in my list but I'm not the sender "
+ "or the receiver", synchro);
}
}
process->suspended = 0;
process->doexception = 0;
- /* destroy the blocking action if any */
- if (process->waiting_action) {
+ /* destroy the blocking synchro if any */
+ if (process->waiting_synchro) {
- switch (process->waiting_action->type) {
+ switch (process->waiting_synchro->type) {
- case SIMIX_ACTION_EXECUTE:
- case SIMIX_ACTION_PARALLEL_EXECUTE:
- SIMIX_host_execution_destroy(process->waiting_action);
+ case SIMIX_SYNC_EXECUTE:
+ case SIMIX_SYNC_PARALLEL_EXECUTE:
+ SIMIX_host_execution_destroy(process->waiting_synchro);
break;
- case SIMIX_ACTION_COMMUNICATE:
- xbt_fifo_remove(process->comms, process->waiting_action);
- SIMIX_comm_cancel(process->waiting_action);
- SIMIX_comm_destroy(process->waiting_action);
+ case SIMIX_SYNC_COMMUNICATE:
+ xbt_fifo_remove(process->comms, process->waiting_synchro);
+ SIMIX_comm_cancel(process->waiting_synchro);
+ SIMIX_comm_destroy(process->waiting_synchro);
break;
- case SIMIX_ACTION_SLEEP:
- SIMIX_process_sleep_destroy(process->waiting_action);
+ case SIMIX_SYNC_SLEEP:
+ SIMIX_process_sleep_destroy(process->waiting_synchro);
break;
- case SIMIX_ACTION_JOIN:
- SIMIX_process_sleep_destroy(process->waiting_action);
+ case SIMIX_SYNC_JOIN:
+ SIMIX_process_sleep_destroy(process->waiting_synchro);
break;
- case SIMIX_ACTION_SYNCHRO:
+ case SIMIX_SYNC_SYNCHRO:
SIMIX_synchro_stop_waiting(process, &process->simcall);
- SIMIX_synchro_destroy(process->waiting_action);
+ SIMIX_synchro_destroy(process->waiting_synchro);
break;
- case SIMIX_ACTION_IO:
- SIMIX_io_destroy(process->waiting_action);
+ case SIMIX_SYNC_IO:
+ SIMIX_io_destroy(process->waiting_synchro);
break;
}
if (process->suspended)
SIMIX_process_resume(process,SIMIX_process_self());
- /* cancel the blocking action if any */
- if (process->waiting_action) {
+ /* cancel the blocking synchro if any */
+ if (process->waiting_synchro) {
- switch (process->waiting_action->type) {
+ switch (process->waiting_synchro->type) {
- case SIMIX_ACTION_EXECUTE:
- case SIMIX_ACTION_PARALLEL_EXECUTE:
- SIMIX_host_execution_cancel(process->waiting_action);
+ case SIMIX_SYNC_EXECUTE:
+ case SIMIX_SYNC_PARALLEL_EXECUTE:
+ SIMIX_host_execution_cancel(process->waiting_synchro);
break;
- case SIMIX_ACTION_COMMUNICATE:
- xbt_fifo_remove(process->comms, process->waiting_action);
- SIMIX_comm_cancel(process->waiting_action);
+ case SIMIX_SYNC_COMMUNICATE:
+ xbt_fifo_remove(process->comms, process->waiting_synchro);
+ SIMIX_comm_cancel(process->waiting_synchro);
break;
- case SIMIX_ACTION_SLEEP:
- SIMIX_process_sleep_destroy(process->waiting_action);
+ case SIMIX_SYNC_SLEEP:
+ SIMIX_process_sleep_destroy(process->waiting_synchro);
break;
- case SIMIX_ACTION_JOIN:
- SIMIX_process_sleep_destroy(process->waiting_action);
+ case SIMIX_SYNC_JOIN:
+ SIMIX_process_sleep_destroy(process->waiting_synchro);
break;
- case SIMIX_ACTION_SYNCHRO:
+ case SIMIX_SYNC_SYNCHRO:
SIMIX_synchro_stop_waiting(process, &process->simcall);
break;
- case SIMIX_ACTION_IO:
- SIMIX_io_destroy(process->waiting_action);
+ case SIMIX_SYNC_IO:
+ SIMIX_io_destroy(process->waiting_synchro);
break;
}
}
- process->waiting_action = NULL;
+ process->waiting_synchro = NULL;
if (!xbt_dynar_member(simix_global->process_to_run, &(process)) && process != SIMIX_process_self())
xbt_dynar_push_as(simix_global->process_to_run, smx_process_t, process);
void simcall_HANDLER_process_suspend(smx_simcall_t simcall, smx_process_t process)
{
- smx_action_t action_suspend =
+ smx_synchro_t sync_suspend =
SIMIX_process_suspend(process, simcall->issuer);
if (process != simcall->issuer) {
SIMIX_simcall_answer(simcall);
} else {
- xbt_fifo_push(action_suspend->simcalls, simcall);
- process->waiting_action = action_suspend;
- SIMIX_host_execution_suspend(process->waiting_action);
+ xbt_fifo_push(sync_suspend->simcalls, simcall);
+ process->waiting_synchro = sync_suspend;
+ SIMIX_host_execution_suspend(process->waiting_synchro);
}
/* If we are suspending ourselves, then just do not finish the simcall now */
}
-smx_action_t SIMIX_process_suspend(smx_process_t process, smx_process_t issuer)
+smx_synchro_t SIMIX_process_suspend(smx_process_t process, smx_process_t issuer)
{
xbt_assert((process != NULL), "Invalid parameters");
process->suspended = 1;
- /* If we are suspending another process, and it is waiting on an action,
- suspend its action. */
+ /* If we are suspending another process, and it is waiting on a sync,
+ suspend its synchronization. */
if (process != issuer) {
- if (process->waiting_action) {
+ if (process->waiting_synchro) {
- switch (process->waiting_action->type) {
+ switch (process->waiting_synchro->type) {
- case SIMIX_ACTION_EXECUTE:
- case SIMIX_ACTION_PARALLEL_EXECUTE:
- SIMIX_host_execution_suspend(process->waiting_action);
+ case SIMIX_SYNC_EXECUTE:
+ case SIMIX_SYNC_PARALLEL_EXECUTE:
+ SIMIX_host_execution_suspend(process->waiting_synchro);
break;
- case SIMIX_ACTION_COMMUNICATE:
- SIMIX_comm_suspend(process->waiting_action);
+ case SIMIX_SYNC_COMMUNICATE:
+ SIMIX_comm_suspend(process->waiting_synchro);
break;
- case SIMIX_ACTION_SLEEP:
- SIMIX_process_sleep_suspend(process->waiting_action);
+ case SIMIX_SYNC_SLEEP:
+ SIMIX_process_sleep_suspend(process->waiting_synchro);
break;
- case SIMIX_ACTION_SYNCHRO:
+ case SIMIX_SYNC_SYNCHRO:
/* Suspension is delayed to when the process is rescheduled. */
break;
default:
- xbt_die("Internal error in SIMIX_process_suspend: unexpected action type %d",
- (int)process->waiting_action->type);
+ xbt_die("Internal error in SIMIX_process_suspend: unexpected synchronization type %d",
+ (int)process->waiting_synchro->type);
}
return NULL;
} else {
if(!process->suspended) return;
process->suspended = 0;
- /* If we are resuming another process, resume the action it was waiting for
+ /* If we are resuming another process, resume the synchronization it was waiting for
if any. Otherwise add it to the list of process to run in the next round. */
if (process != issuer) {
- if (process->waiting_action) {
+ if (process->waiting_synchro) {
- switch (process->waiting_action->type) {
+ switch (process->waiting_synchro->type) {
- case SIMIX_ACTION_EXECUTE:
- case SIMIX_ACTION_PARALLEL_EXECUTE:
- SIMIX_host_execution_resume(process->waiting_action);
+ case SIMIX_SYNC_EXECUTE:
+ case SIMIX_SYNC_PARALLEL_EXECUTE:
+ SIMIX_host_execution_resume(process->waiting_synchro);
break;
- case SIMIX_ACTION_COMMUNICATE:
- SIMIX_comm_resume(process->waiting_action);
+ case SIMIX_SYNC_COMMUNICATE:
+ SIMIX_comm_resume(process->waiting_synchro);
break;
- case SIMIX_ACTION_SLEEP:
- SIMIX_process_sleep_resume(process->waiting_action);
+ case SIMIX_SYNC_SLEEP:
+ SIMIX_process_sleep_resume(process->waiting_synchro);
break;
- case SIMIX_ACTION_SYNCHRO:
+ case SIMIX_SYNC_SYNCHRO:
/* I cannot resume it now. This is delayed to when the process is rescheduled at
* the end of the synchro. */
break;
default:
- xbt_die("Internal error in SIMIX_process_resume: unexpected action type %d",
- (int)process->waiting_action->type);
+ xbt_die("Internal error in SIMIX_process_resume: unexpected synchronization type %d",
+ (int)process->waiting_synchro->type);
}
}
} else XBT_WARN("Strange. Process %p is trying to resume himself.", issuer);
void simcall_HANDLER_process_join(smx_simcall_t simcall, smx_process_t process, double timeout)
{
- smx_action_t action = SIMIX_process_join(simcall->issuer, process, timeout);
- xbt_fifo_push(action->simcalls, simcall);
- simcall->issuer->waiting_action = action;
+ smx_synchro_t sync = SIMIX_process_join(simcall->issuer, process, timeout);
+ xbt_fifo_push(sync->simcalls, simcall);
+ simcall->issuer->waiting_synchro = sync;
}
-static int SIMIX_process_join_finish(smx_process_exit_status_t status, smx_action_t action){
- if (action->sleep.surf_sleep) {
- surf_action_cancel(action->sleep.surf_sleep);
+static int SIMIX_process_join_finish(smx_process_exit_status_t status, smx_synchro_t sync){
+ if (sync->sleep.surf_sleep) {
+ surf_action_cancel(sync->sleep.surf_sleep);
smx_simcall_t simcall;
- while ((simcall = xbt_fifo_shift(action->simcalls))) {
+ while ((simcall = xbt_fifo_shift(sync->simcalls))) {
simcall_process_sleep__set__result(simcall, SIMIX_DONE);
- simcall->issuer->waiting_action = NULL;
+ simcall->issuer->waiting_synchro = NULL;
if (simcall->issuer->suspended) {
XBT_DEBUG("Wait! This process is suspended and can't wake up now.");
simcall->issuer->suspended = 0;
SIMIX_simcall_answer(simcall);
}
}
- surf_action_unref(action->sleep.surf_sleep);
- action->sleep.surf_sleep = NULL;
+ surf_action_unref(sync->sleep.surf_sleep);
+ sync->sleep.surf_sleep = NULL;
}
- xbt_mallocator_release(simix_global->action_mallocator, action);
+ xbt_mallocator_release(simix_global->synchro_mallocator, sync);
return 0;
}
-smx_action_t SIMIX_process_join(smx_process_t issuer, smx_process_t process, double timeout)
+smx_synchro_t SIMIX_process_join(smx_process_t issuer, smx_process_t process, double timeout)
{
- smx_action_t res = SIMIX_process_sleep(issuer, timeout);
- res->type = SIMIX_ACTION_JOIN;
+ smx_synchro_t res = SIMIX_process_sleep(issuer, timeout);
+ res->type = SIMIX_SYNC_JOIN;
SIMIX_process_on_exit(process, (int_f_pvoid_pvoid_t)SIMIX_process_join_finish, res);
return res;
}
SIMIX_simcall_answer(simcall);
return;
}
- smx_action_t action = SIMIX_process_sleep(simcall->issuer, duration);
- xbt_fifo_push(action->simcalls, simcall);
- simcall->issuer->waiting_action = action;
+ smx_synchro_t sync = SIMIX_process_sleep(simcall->issuer, duration);
+ xbt_fifo_push(sync->simcalls, simcall);
+ simcall->issuer->waiting_synchro = sync;
}
-smx_action_t SIMIX_process_sleep(smx_process_t process, double duration)
+smx_synchro_t SIMIX_process_sleep(smx_process_t process, double duration)
{
- smx_action_t action;
+ smx_synchro_t synchro;
smx_host_t host = process->smx_host;
/* check if the host is active */
sg_host_name(host));
}
- action = xbt_mallocator_get(simix_global->action_mallocator);
- action->type = SIMIX_ACTION_SLEEP;
- action->name = NULL;
+ synchro = xbt_mallocator_get(simix_global->synchro_mallocator);
+ synchro->type = SIMIX_SYNC_SLEEP;
+ synchro->name = NULL;
#ifdef HAVE_TRACING
- action->category = NULL;
+ synchro->category = NULL;
#endif
- action->sleep.host = host;
- action->sleep.surf_sleep =
+ synchro->sleep.host = host;
+ synchro->sleep.surf_sleep =
surf_workstation_sleep(host, duration);
- surf_action_set_data(action->sleep.surf_sleep, action);
- XBT_DEBUG("Create sleep action %p", action);
+ surf_action_set_data(synchro->sleep.surf_sleep, synchro);
+ XBT_DEBUG("Create sleep synchronization %p", synchro);
- return action;
+ return synchro;
}
-void SIMIX_post_process_sleep(smx_action_t action)
+void SIMIX_post_process_sleep(smx_synchro_t synchro)
{
smx_simcall_t simcall;
e_smx_state_t state;
- xbt_assert(action->type == SIMIX_ACTION_SLEEP || action->type == SIMIX_ACTION_JOIN);
+ xbt_assert(synchro->type == SIMIX_SYNC_SLEEP || synchro->type == SIMIX_SYNC_JOIN);
- while ((simcall = xbt_fifo_shift(action->simcalls))) {
+ while ((simcall = xbt_fifo_shift(synchro->simcalls))) {
- switch(surf_action_get_state(action->sleep.surf_sleep)){
+ switch(surf_action_get_state(synchro->sleep.surf_sleep)){
case SURF_ACTION_FAILED:
simcall->issuer->context->iwannadie = 1;
//SMX_EXCEPTION(simcall->issuer, host_error, 0, "Host failed");
simcall->issuer->context->iwannadie = 1;
}
simcall_process_sleep__set__result(simcall, state);
- simcall->issuer->waiting_action = NULL;
+ simcall->issuer->waiting_synchro = NULL;
if (simcall->issuer->suspended) {
XBT_DEBUG("Wait! This process is suspended and can't wake up now.");
simcall->issuer->suspended = 0;
}
}
- SIMIX_process_sleep_destroy(action);
+ SIMIX_process_sleep_destroy(synchro);
}
-void SIMIX_process_sleep_destroy(smx_action_t action)
+void SIMIX_process_sleep_destroy(smx_synchro_t synchro)
{
- XBT_DEBUG("Destroy action %p", action);
- xbt_assert(action->type == SIMIX_ACTION_SLEEP || action->type == SIMIX_ACTION_JOIN);
+ XBT_DEBUG("Destroy synchro %p", synchro);
+ xbt_assert(synchro->type == SIMIX_SYNC_SLEEP || synchro->type == SIMIX_SYNC_JOIN);
- if (action->sleep.surf_sleep) {
- surf_action_unref(action->sleep.surf_sleep);
- action->sleep.surf_sleep = NULL;
+ if (synchro->sleep.surf_sleep) {
+ surf_action_unref(synchro->sleep.surf_sleep);
+ synchro->sleep.surf_sleep = NULL;
}
- if (action->type == SIMIX_ACTION_SLEEP)
- xbt_mallocator_release(simix_global->action_mallocator, action);
+ if (synchro->type == SIMIX_SYNC_SLEEP)
+ xbt_mallocator_release(simix_global->synchro_mallocator, synchro);
}
-void SIMIX_process_sleep_suspend(smx_action_t action)
+void SIMIX_process_sleep_suspend(smx_synchro_t synchro)
{
- xbt_assert(action->type == SIMIX_ACTION_SLEEP);
- surf_action_suspend(action->sleep.surf_sleep);
+ xbt_assert(synchro->type == SIMIX_SYNC_SLEEP);
+ surf_action_suspend(synchro->sleep.surf_sleep);
}
-void SIMIX_process_sleep_resume(smx_action_t action)
+void SIMIX_process_sleep_resume(smx_synchro_t synchro)
{
- XBT_DEBUG("Action state is %d on process_sleep_resume.", action->state);
- xbt_assert(action->type == SIMIX_ACTION_SLEEP);
- surf_action_resume(action->sleep.surf_sleep);
+ XBT_DEBUG("Synchro state is %d on process_sleep_resume.", synchro->state);
+ xbt_assert(synchro->type == SIMIX_SYNC_SLEEP);
+ surf_action_resume(synchro->sleep.surf_sleep);
}
/**
unsigned auto_restart:1;
smx_host_t new_host; /* if not null, the host on which the process must migrate to */
- smx_action_t waiting_action; /* the current blocking action if any */
- xbt_fifo_t comms; /* the current non-blocking communication actions */
+ smx_synchro_t waiting_synchro; /* the current blocking synchro if any */
+ xbt_fifo_t comms; /* the current non-blocking communication synchros */
xbt_dict_t properties;
s_smx_simcall_t simcall;
void *data; /* kept for compatibility, it should be replaced with moddata */
void SIMIX_process_exception_terminate(xbt_ex_t * e);
void SIMIX_process_change_host(smx_process_t process,
smx_host_t dest);
-smx_action_t SIMIX_process_suspend(smx_process_t process, smx_process_t issuer);
+smx_synchro_t SIMIX_process_suspend(smx_process_t process, smx_process_t issuer);
void SIMIX_process_resume(smx_process_t process, smx_process_t issuer);
int SIMIX_process_get_PID(smx_process_t self);
int SIMIX_process_get_PPID(smx_process_t self);
smx_process_t SIMIX_process_get_by_name(const char* name);
int SIMIX_process_is_suspended(smx_process_t process);
xbt_dict_t SIMIX_process_get_properties(smx_process_t process);
-smx_action_t SIMIX_process_join(smx_process_t issuer, smx_process_t process, double timeout);
-smx_action_t SIMIX_process_sleep(smx_process_t process, double duration);
-void SIMIX_post_process_sleep(smx_action_t action);
+smx_synchro_t SIMIX_process_join(smx_process_t issuer, smx_process_t process, double timeout);
+smx_synchro_t SIMIX_process_sleep(smx_process_t process, double duration);
+void SIMIX_post_process_sleep(smx_synchro_t synchro);
-void SIMIX_process_sleep_suspend(smx_action_t action);
-void SIMIX_process_sleep_resume(smx_action_t action);
-void SIMIX_process_sleep_destroy(smx_action_t action);
+void SIMIX_process_sleep_suspend(smx_synchro_t synchro);
+void SIMIX_process_sleep_resume(smx_synchro_t synchro);
+void SIMIX_process_sleep_destroy(smx_synchro_t synchro);
void SIMIX_process_auto_restart_set(smx_process_t process, int auto_restart);
smx_process_t SIMIX_process_restart(smx_process_t process, smx_process_t issuer);
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_synchro, simix,
- "Logging specific to SIMIX (synchronization)");
+ "SIMIX Synchronization (mutex, semaphores and conditions)");
-static smx_action_t SIMIX_synchro_wait(smx_host_t smx_host, double timeout);
-static void SIMIX_synchro_finish(smx_action_t action);
+static smx_synchro_t SIMIX_synchro_wait(smx_host_t smx_host, double timeout);
+static void SIMIX_synchro_finish(smx_synchro_t synchro);
static void _SIMIX_cond_wait(smx_cond_t cond, smx_mutex_t mutex, double timeout,
smx_process_t issuer, smx_simcall_t simcall);
static void _SIMIX_sem_wait(smx_sem_t sem, double timeout, smx_process_t issuer,
smx_simcall_t simcall);
-/***************************** Synchro action *********************************/
+/***************************** Raw synchronization *********************************/
-static smx_action_t SIMIX_synchro_wait(smx_host_t smx_host, double timeout)
+static smx_synchro_t SIMIX_synchro_wait(smx_host_t smx_host, double timeout)
{
XBT_IN("(%p, %f)",smx_host,timeout);
- smx_action_t action;
- action = xbt_mallocator_get(simix_global->action_mallocator);
- action->type = SIMIX_ACTION_SYNCHRO;
- action->name = xbt_strdup("synchro");
- action->synchro.sleep =
+ smx_synchro_t sync;
+ sync = xbt_mallocator_get(simix_global->synchro_mallocator);
+ sync->type = SIMIX_SYNC_SYNCHRO;
+ sync->name = xbt_strdup("synchro");
+ sync->synchro.sleep =
surf_workstation_sleep(smx_host, timeout);
- surf_action_set_data(action->synchro.sleep, action);
+ surf_action_set_data(sync->synchro.sleep, sync);
XBT_OUT();
- return action;
+ return sync;
}
void SIMIX_synchro_stop_waiting(smx_process_t process, smx_simcall_t simcall)
XBT_OUT();
}
-void SIMIX_synchro_destroy(smx_action_t action)
+void SIMIX_synchro_destroy(smx_synchro_t synchro)
{
- XBT_IN("(%p)",action);
- XBT_DEBUG("Destroying synchro %p", action);
- xbt_assert(action->type == SIMIX_ACTION_SYNCHRO);
- surf_action_unref(action->synchro.sleep);
- xbt_free(action->name);
- xbt_mallocator_release(simix_global->action_mallocator, action);
+ XBT_IN("(%p)",synchro);
+ XBT_DEBUG("Destroying synchro %p", synchro);
+ xbt_assert(synchro->type == SIMIX_SYNC_SYNCHRO);
+ surf_action_unref(synchro->synchro.sleep);
+ xbt_free(synchro->name);
+ xbt_mallocator_release(simix_global->synchro_mallocator, synchro);
XBT_OUT();
}
-void SIMIX_post_synchro(smx_action_t action)
+void SIMIX_post_synchro(smx_synchro_t synchro)
{
- XBT_IN("(%p)",action);
- xbt_assert(action->type == SIMIX_ACTION_SYNCHRO);
- if (surf_action_get_state(action->synchro.sleep) == SURF_ACTION_FAILED)
- action->state = SIMIX_FAILED;
- else if(surf_action_get_state(action->synchro.sleep) == SURF_ACTION_DONE)
- action->state = SIMIX_SRC_TIMEOUT;
-
- SIMIX_synchro_finish(action);
+ XBT_IN("(%p)",synchro);
+ xbt_assert(synchro->type == SIMIX_SYNC_SYNCHRO);
+ if (surf_action_get_state(synchro->synchro.sleep) == SURF_ACTION_FAILED)
+ synchro->state = SIMIX_FAILED;
+ else if(surf_action_get_state(synchro->synchro.sleep) == SURF_ACTION_DONE)
+ synchro->state = SIMIX_SRC_TIMEOUT;
+
+ SIMIX_synchro_finish(synchro);
XBT_OUT();
}
-static void SIMIX_synchro_finish(smx_action_t action)
+static void SIMIX_synchro_finish(smx_synchro_t synchro)
{
- XBT_IN("(%p)",action);
- smx_simcall_t simcall = xbt_fifo_shift(action->simcalls);
+ XBT_IN("(%p)",synchro);
+ smx_simcall_t simcall = xbt_fifo_shift(synchro->simcalls);
- switch (action->state) {
+ switch (synchro->state) {
case SIMIX_SRC_TIMEOUT:
SMX_EXCEPTION(simcall->issuer, timeout_error, 0, "Synchro's wait timeout");
}
SIMIX_synchro_stop_waiting(simcall->issuer, simcall);
- simcall->issuer->waiting_action = NULL;
- SIMIX_synchro_destroy(action);
+ simcall->issuer->waiting_synchro = NULL;
+ SIMIX_synchro_destroy(synchro);
SIMIX_simcall_answer(simcall);
XBT_OUT();
}
{
XBT_IN("(%p)",simcall);
/* FIXME: check where to validate the arguments */
- smx_action_t sync_act = NULL;
+ smx_synchro_t synchro = NULL;
smx_process_t process = simcall->issuer;
if (mutex->locked) {
/* FIXME: check if the host is active ? */
- /* Somebody using the mutex, use a synchro action to get host failures */
- sync_act = SIMIX_synchro_wait(process->smx_host, -1);
- xbt_fifo_push(sync_act->simcalls, simcall);
- simcall->issuer->waiting_action = sync_act;
+ /* Somebody using the mutex, use a synchronization to get host failures */
+ synchro = SIMIX_synchro_wait(process->smx_host, -1);
+ xbt_fifo_push(synchro->simcalls, simcall);
+ simcall->issuer->waiting_synchro = synchro;
xbt_swag_insert(simcall->issuer, mutex->sleeping);
} else {
/* mutex free */
if (xbt_swag_size(mutex->sleeping) > 0) {
p = xbt_swag_extract(mutex->sleeping);
- SIMIX_synchro_destroy(p->waiting_action);
- p->waiting_action = NULL;
+ SIMIX_synchro_destroy(p->waiting_synchro);
+ p->waiting_synchro = NULL;
mutex->owner = p;
SIMIX_simcall_answer(&p->simcall);
} else {
smx_process_t issuer, smx_simcall_t simcall)
{
XBT_IN("(%p, %p, %f, %p,%p)",cond,mutex,timeout,issuer,simcall);
- smx_action_t sync_act = NULL;
+ smx_synchro_t synchro = NULL;
XBT_DEBUG("Wait condition %p", cond);
SIMIX_mutex_unlock(mutex, issuer);
}
- sync_act = SIMIX_synchro_wait(issuer->smx_host, timeout);
- xbt_fifo_unshift(sync_act->simcalls, simcall);
- issuer->waiting_action = sync_act;
+ synchro = SIMIX_synchro_wait(issuer->smx_host, timeout);
+ xbt_fifo_unshift(synchro->simcalls, simcall);
+ issuer->waiting_synchro = synchro;
xbt_swag_insert(simcall->issuer, cond->sleeping);
XBT_OUT();
}
to make it acquire the mutex */
if ((proc = xbt_swag_extract(cond->sleeping))) {
- /* Destroy waiter's synchro action */
- SIMIX_synchro_destroy(proc->waiting_action);
- proc->waiting_action = NULL;
+ /* Destroy waiter's synchronization */
+ SIMIX_synchro_destroy(proc->waiting_synchro);
+ proc->waiting_synchro = NULL;
/* Now transform the cond wait simcall into a mutex lock one */
simcall = &proc->simcall;
XBT_DEBUG("Sem release semaphore %p", sem);
if ((proc = xbt_swag_extract(sem->sleeping))) {
- SIMIX_synchro_destroy(proc->waiting_action);
- proc->waiting_action = NULL;
+ SIMIX_synchro_destroy(proc->waiting_synchro);
+ proc->waiting_synchro = NULL;
SIMIX_simcall_answer(&proc->simcall);
} else if (sem->value < SMX_SEM_NOLIMIT) {
sem->value++;
smx_simcall_t simcall)
{
XBT_IN("(%p, %f, %p, %p)",sem,timeout,issuer,simcall);
- smx_action_t sync_act = NULL;
+ smx_synchro_t synchro = NULL;
XBT_DEBUG("Wait semaphore %p (timeout:%f)", sem, timeout);
if (sem->value <= 0) {
- sync_act = SIMIX_synchro_wait(issuer->smx_host, timeout);
- xbt_fifo_unshift(sync_act->simcalls, simcall);
- issuer->waiting_action = sync_act;
+ synchro = SIMIX_synchro_wait(issuer->smx_host, timeout);
+ xbt_fifo_unshift(synchro->simcalls, simcall);
+ issuer->waiting_synchro = synchro;
xbt_swag_insert(issuer, sem->sleeping);
} else {
sem->value--;
xbt_swag_t sleeping; /* list of sleeping process */
} s_smx_sem_t;
-void SIMIX_post_synchro(smx_action_t action);
+void SIMIX_post_synchro(smx_synchro_t synchro);
void SIMIX_synchro_stop_waiting(smx_process_t process, smx_simcall_t simcall);
-void SIMIX_synchro_destroy(smx_action_t action);
+void SIMIX_synchro_destroy(smx_synchro_t synchro);
smx_mutex_t SIMIX_mutex_init(void);
void SIMIX_mutex_destroy(smx_mutex_t mutex);
int truncated;
size_t real_size;
MPI_Comm comm;
- smx_action_t action;
+ smx_synchro_t action;
unsigned flags;
int detached;
MPI_Request detached_sender;
void smpi_deployment_register_process(const char* instance_id, int rank, int index, MPI_Comm**, xbt_bar_t*);
void smpi_deployment_cleanup_instances(void);
-void smpi_comm_copy_buffer_callback(smx_action_t comm,
+void smpi_comm_copy_buffer_callback(smx_synchro_t comm,
void *buff, size_t buff_size);
-void smpi_comm_null_copy_buffer_callback(smx_action_t comm,
+void smpi_comm_null_copy_buffer_callback(smx_synchro_t comm,
void *buff, size_t buff_size);
void print_request(const char *message, MPI_Request request);
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_base, smpi, "Logging specific to SMPI (base)");
-static int match_recv(void* a, void* b, smx_action_t ignored) {
+static int match_recv(void* a, void* b, smx_synchro_t ignored) {
MPI_Request ref = (MPI_Request)a;
MPI_Request req = (MPI_Request)b;
XBT_DEBUG("Trying to match a recv of src %d against %d, tag %d against %d",ref->src,req->src, ref->tag, req->tag);
}else return 0;
}
-static int match_send(void* a, void* b,smx_action_t ignored) {
+static int match_send(void* a, void* b,smx_synchro_t ignored) {
MPI_Request ref = (MPI_Request)a;
MPI_Request req = (MPI_Request)b;
XBT_DEBUG("Trying to match a send of src %d against %d, tag %d against %d",ref->src,req->src, ref->tag, req->tag);
//We have to check both mailboxes (because SSEND messages are sent to the large mbox). begin with the more appropriate one : the small one.
mailbox = smpi_process_mailbox_small();
XBT_DEBUG("Is there a corresponding send already posted the small mailbox %p (in case of SSEND)?", mailbox);
- smx_action_t action = simcall_comm_iprobe(mailbox, 0, request->src,request->tag, &match_recv, (void*)request);
+ smx_synchro_t action = simcall_comm_iprobe(mailbox, 0, request->src,request->tag, &match_recv, (void*)request);
if(action ==NULL){
mailbox = smpi_process_mailbox();
}else{
mailbox = smpi_process_mailbox_small();
XBT_DEBUG("Is there a corresponding send already posted the small mailbox?");
- smx_action_t action = simcall_comm_iprobe(mailbox, 0, request->src,request->tag, &match_recv, (void*)request);
+ smx_synchro_t action = simcall_comm_iprobe(mailbox, 0, request->src,request->tag, &match_recv, (void*)request);
if(action ==NULL){
XBT_DEBUG("No, nothing in the permanent receive mailbox");
if (request->flags & RMA || request->size < sg_cfg_get_int("smpi/async_small_thres")) { // eager mode
mailbox = smpi_process_remote_mailbox(receiver);
XBT_DEBUG("Is there a corresponding recv already posted in the large mailbox %p?", mailbox);
- smx_action_t action = simcall_comm_iprobe(mailbox, 1,request->dst, request->tag, &match_send, (void*)request);
+ smx_synchro_t action = simcall_comm_iprobe(mailbox, 1,request->dst, request->tag, &match_send, (void*)request);
if(action ==NULL){
if (! (request->flags & SSEND)){
mailbox = smpi_process_remote_mailbox_small(receiver);
*index = MPI_UNDEFINED;
flag = 0;
- comms = xbt_dynar_new(sizeof(smx_action_t), NULL);
+ comms = xbt_dynar_new(sizeof(smx_synchro_t), NULL);
map = xbt_new(int, count);
size = 0;
for(i = 0; i < count; i++) {
index = MPI_UNDEFINED;
if(count > 0) {
// Wait for a request to complete
- comms = xbt_dynar_new(sizeof(smx_action_t), NULL);
+ comms = xbt_dynar_new(sizeof(smx_synchro_t), NULL);
map = xbt_new(int, count);
size = 0;
XBT_DEBUG("Wait for one of %d", count);
}
void smpi_execute_flops(double flops) {
- smx_action_t action;
+ smx_synchro_t action;
smx_host_t host;
host = SIMIX_host_self();
XBT_DEBUG("Handle real computation time: %f flops", flops);
request->dst, request->tag, request->flags);
}
-void smpi_comm_copy_buffer_callback(smx_action_t comm,
+void smpi_comm_copy_buffer_callback(smx_synchro_t comm,
void *buff, size_t buff_size)
{
XBT_DEBUG("Copy the data over");
}
-void smpi_comm_null_copy_buffer_callback(smx_action_t comm,
+void smpi_comm_null_copy_buffer_callback(smx_synchro_t comm,
void *buff, size_t buff_size)
{
return;
int surfxml_pcdata_ix;
extern char *surfxml_bufferstack;
#define surfxml_pcdata (surfxml_bufferstack + surfxml_pcdata_ix)
-AT_surfxml_storage_content AX_surfxml_storage_content;
-#define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
-short int surfxml_storage_content_isset;
-AT_surfxml_cabinet_radical AX_surfxml_cabinet_radical;
-#define A_surfxml_cabinet_radical (surfxml_bufferstack + AX_surfxml_cabinet_radical)
-short int surfxml_cabinet_radical_isset;
-AT_surfxml_host_availability___file AX_surfxml_host_availability___file;
-#define A_surfxml_host_availability___file (surfxml_bufferstack + AX_surfxml_host_availability___file)
-short int surfxml_host_availability___file_isset;
-AT_surfxml_peer_lat AX_surfxml_peer_lat;
-#define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
-short int surfxml_peer_lat_isset;
-AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
-#define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
-short int surfxml_route_symmetrical_isset;
-AT_surfxml_link___ctn_id AX_surfxml_link___ctn_id;
-#define A_surfxml_link___ctn_id (surfxml_bufferstack + AX_surfxml_link___ctn_id)
-short int surfxml_link___ctn_id_isset;
-AT_surfxml_mount_storageId AX_surfxml_mount_storageId;
-#define A_surfxml_mount_storageId (surfxml_bufferstack + AX_surfxml_mount_storageId)
-short int surfxml_mount_storageId_isset;
-AT_surfxml_random_id AX_surfxml_random_id;
-#define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
-short int surfxml_random_id_isset;
-AT_surfxml_storage_attach AX_surfxml_storage_attach;
-#define A_surfxml_storage_attach (surfxml_bufferstack + AX_surfxml_storage_attach)
-short int surfxml_storage_attach_isset;
-AT_surfxml_link_state AX_surfxml_link_state;
-#define A_surfxml_link_state AX_surfxml_link_state
-short int surfxml_link_state_isset;
-AT_surfxml_storage___type_size AX_surfxml_storage___type_size;
-#define A_surfxml_storage___type_size (surfxml_bufferstack + AX_surfxml_storage___type_size)
-short int surfxml_storage___type_size_isset;
AT_surfxml_cluster_radical AX_surfxml_cluster_radical;
#define A_surfxml_cluster_radical (surfxml_bufferstack + AX_surfxml_cluster_radical)
short int surfxml_cluster_radical_isset;
-AT_surfxml_mstorage_typeId AX_surfxml_mstorage_typeId;
-#define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
-short int surfxml_mstorage_typeId_isset;
-AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
-#define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
-short int surfxml_cluster_suffix_isset;
-AT_surfxml_trace___connect_element AX_surfxml_trace___connect_element;
-#define A_surfxml_trace___connect_element (surfxml_bufferstack + AX_surfxml_trace___connect_element)
-short int surfxml_trace___connect_element_isset;
-AT_surfxml_host_pstate AX_surfxml_host_pstate;
-#define A_surfxml_host_pstate (surfxml_bufferstack + AX_surfxml_host_pstate)
-short int surfxml_host_pstate_isset;
-AT_surfxml_cluster_loopback___bw AX_surfxml_cluster_loopback___bw;
-#define A_surfxml_cluster_loopback___bw (surfxml_bufferstack + AX_surfxml_cluster_loopback___bw)
-short int surfxml_cluster_loopback___bw_isset;
-AT_surfxml_link_latency___file AX_surfxml_link_latency___file;
-#define A_surfxml_link_latency___file (surfxml_bufferstack + AX_surfxml_link_latency___file)
-short int surfxml_link_latency___file_isset;
-AT_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy;
-#define A_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy
-short int surfxml_cluster_sharing___policy_isset;
+AT_surfxml_cluster_bb___lat AX_surfxml_cluster_bb___lat;
+#define A_surfxml_cluster_bb___lat (surfxml_bufferstack + AX_surfxml_cluster_bb___lat)
+short int surfxml_cluster_bb___lat_isset;
+AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
+#define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
+short int surfxml_trace_periodicity_isset;
+AT_surfxml_cluster_core AX_surfxml_cluster_core;
+#define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
+short int surfxml_cluster_core_isset;
+AT_surfxml_config_id AX_surfxml_config_id;
+#define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
+short int surfxml_config_id_isset;
+AT_surfxml_bypassASroute_gw___dst AX_surfxml_bypassASroute_gw___dst;
+#define A_surfxml_bypassASroute_gw___dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___dst)
+short int surfxml_bypassASroute_gw___dst_isset;
+AT_surfxml_AS_id AX_surfxml_AS_id;
+#define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
+short int surfxml_AS_id_isset;
+AT_surfxml_trace_file AX_surfxml_trace_file;
+#define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
+short int surfxml_trace_file_isset;
+AT_surfxml_cabinet_bw AX_surfxml_cabinet_bw;
+#define A_surfxml_cabinet_bw (surfxml_bufferstack + AX_surfxml_cabinet_bw)
+short int surfxml_cabinet_bw_isset;
+AT_surfxml_cluster_topo___parameters AX_surfxml_cluster_topo___parameters;
+#define A_surfxml_cluster_topo___parameters (surfxml_bufferstack + AX_surfxml_cluster_topo___parameters)
+short int surfxml_cluster_topo___parameters_isset;
AT_surfxml_host___link_up AX_surfxml_host___link_up;
#define A_surfxml_host___link_up (surfxml_bufferstack + AX_surfxml_host___link_up)
short int surfxml_host___link_up_isset;
-AT_surfxml_cabinet_id AX_surfxml_cabinet_id;
-#define A_surfxml_cabinet_id (surfxml_bufferstack + AX_surfxml_cabinet_id)
-short int surfxml_cabinet_id_isset;
-AT_surfxml_route_dst AX_surfxml_route_dst;
-#define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
-short int surfxml_route_dst_isset;
-AT_surfxml_ASroute_gw___src AX_surfxml_ASroute_gw___src;
-#define A_surfxml_ASroute_gw___src (surfxml_bufferstack + AX_surfxml_ASroute_gw___src)
-short int surfxml_ASroute_gw___src_isset;
-AT_surfxml_gpu_name AX_surfxml_gpu_name;
-#define A_surfxml_gpu_name (surfxml_bufferstack + AX_surfxml_gpu_name)
-short int surfxml_gpu_name_isset;
-AT_surfxml_host_core AX_surfxml_host_core;
-#define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
-short int surfxml_host_core_isset;
-AT_surfxml_peer_bw___in AX_surfxml_peer_bw___in;
-#define A_surfxml_peer_bw___in (surfxml_bufferstack + AX_surfxml_peer_bw___in)
-short int surfxml_peer_bw___in_isset;
+AT_surfxml_storage_attach AX_surfxml_storage_attach;
+#define A_surfxml_storage_attach (surfxml_bufferstack + AX_surfxml_storage_attach)
+short int surfxml_storage_attach_isset;
+AT_surfxml_peer_power AX_surfxml_peer_power;
+#define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
+short int surfxml_peer_power_isset;
+AT_surfxml_storage___type_content___type AX_surfxml_storage___type_content___type;
+#define A_surfxml_storage___type_content___type (surfxml_bufferstack + AX_surfxml_storage___type_content___type)
+short int surfxml_storage___type_content___type_isset;
+AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
+#define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
+short int surfxml_cluster_prefix_isset;
+AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
+#define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
+short int surfxml_ASroute_dst_isset;
+AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
+#define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
+short int surfxml_ASroute_src_isset;
+AT_surfxml_peer_state___file AX_surfxml_peer_state___file;
+#define A_surfxml_peer_state___file (surfxml_bufferstack + AX_surfxml_peer_state___file)
+short int surfxml_peer_state___file_isset;
+AT_surfxml_prop_id AX_surfxml_prop_id;
+#define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
+short int surfxml_prop_id_isset;
+AT_surfxml_cluster_router___id AX_surfxml_cluster_router___id;
+#define A_surfxml_cluster_router___id (surfxml_bufferstack + AX_surfxml_cluster_router___id)
+short int surfxml_cluster_router___id_isset;
+AT_surfxml_host___link_down AX_surfxml_host___link_down;
+#define A_surfxml_host___link_down (surfxml_bufferstack + AX_surfxml_host___link_down)
+short int surfxml_host___link_down_isset;
+AT_surfxml_random_min AX_surfxml_random_min;
+#define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
+short int surfxml_random_min_isset;
+AT_surfxml_cluster_power AX_surfxml_cluster_power;
+#define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
+short int surfxml_cluster_power_isset;
+AT_surfxml_cluster_availability___file AX_surfxml_cluster_availability___file;
+#define A_surfxml_cluster_availability___file (surfxml_bufferstack + AX_surfxml_cluster_availability___file)
+short int surfxml_cluster_availability___file_isset;
+AT_surfxml_process_start___time AX_surfxml_process_start___time;
+#define A_surfxml_process_start___time (surfxml_bufferstack + AX_surfxml_process_start___time)
+short int surfxml_process_start___time_isset;
+AT_surfxml_peer_availability___file AX_surfxml_peer_availability___file;
+#define A_surfxml_peer_availability___file (surfxml_bufferstack + AX_surfxml_peer_availability___file)
+short int surfxml_peer_availability___file_isset;
+AT_surfxml_random_generator AX_surfxml_random_generator;
+#define A_surfxml_random_generator AX_surfxml_random_generator
+short int surfxml_random_generator_isset;
+AT_surfxml_host___link_id AX_surfxml_host___link_id;
+#define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
+short int surfxml_host___link_id_isset;
+AT_surfxml_link_bandwidth___file AX_surfxml_link_bandwidth___file;
+#define A_surfxml_link_bandwidth___file (surfxml_bufferstack + AX_surfxml_link_bandwidth___file)
+short int surfxml_link_bandwidth___file_isset;
+AT_surfxml_storage_id AX_surfxml_storage_id;
+#define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
+short int surfxml_storage_id_isset;
+AT_surfxml_AS_routing AX_surfxml_AS_routing;
+#define A_surfxml_AS_routing AX_surfxml_AS_routing
+short int surfxml_AS_routing_isset;
+AT_surfxml_host_availability___file AX_surfxml_host_availability___file;
+#define A_surfxml_host_availability___file (surfxml_bufferstack + AX_surfxml_host_availability___file)
+short int surfxml_host_availability___file_isset;
+AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
+#define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
+short int surfxml_cluster_lat_isset;
+AT_surfxml_storage_content AX_surfxml_storage_content;
+#define A_surfxml_storage_content (surfxml_bufferstack + AX_surfxml_storage_content)
+short int surfxml_storage_content_isset;
+AT_surfxml_host_availability AX_surfxml_host_availability;
+#define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
+short int surfxml_host_availability_isset;
+AT_surfxml_link_latency___file AX_surfxml_link_latency___file;
+#define A_surfxml_link_latency___file (surfxml_bufferstack + AX_surfxml_link_latency___file)
+short int surfxml_link_latency___file_isset;
AT_surfxml_cabinet_power AX_surfxml_cabinet_power;
#define A_surfxml_cabinet_power (surfxml_bufferstack + AX_surfxml_cabinet_power)
short int surfxml_cabinet_power_isset;
+AT_surfxml_host_core AX_surfxml_host_core;
+#define A_surfxml_host_core (surfxml_bufferstack + AX_surfxml_host_core)
+short int surfxml_host_core_isset;
+AT_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy;
+#define A_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy
+short int surfxml_cluster_bb___sharing___policy_isset;
+AT_surfxml_cabinet_lat AX_surfxml_cabinet_lat;
+#define A_surfxml_cabinet_lat (surfxml_bufferstack + AX_surfxml_cabinet_lat)
+short int surfxml_cabinet_lat_isset;
+AT_surfxml_ASroute_gw___src AX_surfxml_ASroute_gw___src;
+#define A_surfxml_ASroute_gw___src (surfxml_bufferstack + AX_surfxml_ASroute_gw___src)
+short int surfxml_ASroute_gw___src_isset;
+AT_surfxml_cabinet_radical AX_surfxml_cabinet_radical;
+#define A_surfxml_cabinet_radical (surfxml_bufferstack + AX_surfxml_cabinet_radical)
+short int surfxml_cabinet_radical_isset;
+AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
+#define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
+short int surfxml_bypassRoute_src_isset;
+AT_surfxml_host_state AX_surfxml_host_state;
+#define A_surfxml_host_state AX_surfxml_host_state
+short int surfxml_host_state_isset;
+AT_surfxml_cabinet_prefix AX_surfxml_cabinet_prefix;
+#define A_surfxml_cabinet_prefix (surfxml_bufferstack + AX_surfxml_cabinet_prefix)
+short int surfxml_cabinet_prefix_isset;
+AT_surfxml_random_mean AX_surfxml_random_mean;
+#define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
+short int surfxml_random_mean_isset;
+AT_surfxml_backbone_latency AX_surfxml_backbone_latency;
+#define A_surfxml_backbone_latency (surfxml_bufferstack + AX_surfxml_backbone_latency)
+short int surfxml_backbone_latency_isset;
+AT_surfxml_peer_bw___out AX_surfxml_peer_bw___out;
+#define A_surfxml_peer_bw___out (surfxml_bufferstack + AX_surfxml_peer_bw___out)
+short int surfxml_peer_bw___out_isset;
AT_surfxml_argument_value AX_surfxml_argument_value;
#define A_surfxml_argument_value (surfxml_bufferstack + AX_surfxml_argument_value)
short int surfxml_argument_value_isset;
-AT_surfxml_cluster_power AX_surfxml_cluster_power;
-#define A_surfxml_cluster_power (surfxml_bufferstack + AX_surfxml_cluster_power)
-short int surfxml_cluster_power_isset;
+AT_surfxml_process_on___failure AX_surfxml_process_on___failure;
+#define A_surfxml_process_on___failure AX_surfxml_process_on___failure
+short int surfxml_process_on___failure_isset;
+AT_surfxml_route_dst AX_surfxml_route_dst;
+#define A_surfxml_route_dst (surfxml_bufferstack + AX_surfxml_route_dst)
+short int surfxml_route_dst_isset;
+AT_surfxml_cluster_suffix AX_surfxml_cluster_suffix;
+#define A_surfxml_cluster_suffix (surfxml_bufferstack + AX_surfxml_cluster_suffix)
+short int surfxml_cluster_suffix_isset;
+AT_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind;
+#define A_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind
+short int surfxml_trace___connect_kind_isset;
+AT_surfxml_cabinet_id AX_surfxml_cabinet_id;
+#define A_surfxml_cabinet_id (surfxml_bufferstack + AX_surfxml_cabinet_id)
+short int surfxml_cabinet_id_isset;
AT_surfxml_cluster_limiter___link AX_surfxml_cluster_limiter___link;
#define A_surfxml_cluster_limiter___link (surfxml_bufferstack + AX_surfxml_cluster_limiter___link)
short int surfxml_cluster_limiter___link_isset;
AT_surfxml_mount_name AX_surfxml_mount_name;
#define A_surfxml_mount_name (surfxml_bufferstack + AX_surfxml_mount_name)
short int surfxml_mount_name_isset;
-AT_surfxml_trace_file AX_surfxml_trace_file;
-#define A_surfxml_trace_file (surfxml_bufferstack + AX_surfxml_trace_file)
-short int surfxml_trace_file_isset;
-AT_surfxml_peer_id AX_surfxml_peer_id;
-#define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
-short int surfxml_peer_id_isset;
-AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
-#define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
-short int surfxml_bypassRoute_dst_isset;
-AT_surfxml_host_state AX_surfxml_host_state;
-#define A_surfxml_host_state AX_surfxml_host_state
-short int surfxml_host_state_isset;
-AT_surfxml_storage_id AX_surfxml_storage_id;
-#define A_surfxml_storage_id (surfxml_bufferstack + AX_surfxml_storage_id)
-short int surfxml_storage_id_isset;
+AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
+#define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
+short int surfxml_bypassASroute_src_isset;
AT_surfxml_host_coordinates AX_surfxml_host_coordinates;
#define A_surfxml_host_coordinates (surfxml_bufferstack + AX_surfxml_host_coordinates)
short int surfxml_host_coordinates_isset;
AT_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction;
#define A_surfxml_link___ctn_direction AX_surfxml_link___ctn_direction
short int surfxml_link___ctn_direction_isset;
-AT_surfxml_cluster_prefix AX_surfxml_cluster_prefix;
-#define A_surfxml_cluster_prefix (surfxml_bufferstack + AX_surfxml_cluster_prefix)
-short int surfxml_cluster_prefix_isset;
-AT_surfxml_cluster_availability___file AX_surfxml_cluster_availability___file;
-#define A_surfxml_cluster_availability___file (surfxml_bufferstack + AX_surfxml_cluster_availability___file)
-short int surfxml_cluster_availability___file_isset;
-AT_surfxml_peer_power AX_surfxml_peer_power;
-#define A_surfxml_peer_power (surfxml_bufferstack + AX_surfxml_peer_power)
-short int surfxml_peer_power_isset;
-AT_surfxml_ASroute_src AX_surfxml_ASroute_src;
-#define A_surfxml_ASroute_src (surfxml_bufferstack + AX_surfxml_ASroute_src)
-short int surfxml_ASroute_src_isset;
-AT_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy;
-#define A_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy
-short int surfxml_link_sharing___policy_isset;
-AT_surfxml_AS_id AX_surfxml_AS_id;
-#define A_surfxml_AS_id (surfxml_bufferstack + AX_surfxml_AS_id)
-short int surfxml_AS_id_isset;
-AT_surfxml_link_bandwidth___file AX_surfxml_link_bandwidth___file;
-#define A_surfxml_link_bandwidth___file (surfxml_bufferstack + AX_surfxml_link_bandwidth___file)
-short int surfxml_link_bandwidth___file_isset;
-AT_surfxml_cluster_bb___lat AX_surfxml_cluster_bb___lat;
-#define A_surfxml_cluster_bb___lat (surfxml_bufferstack + AX_surfxml_cluster_bb___lat)
-short int surfxml_cluster_bb___lat_isset;
-AT_surfxml_model___prop_id AX_surfxml_model___prop_id;
-#define A_surfxml_model___prop_id (surfxml_bufferstack + AX_surfxml_model___prop_id)
-short int surfxml_model___prop_id_isset;
+AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
+#define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
+short int surfxml_mstorage_name_isset;
+AT_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy;
+#define A_surfxml_cluster_sharing___policy AX_surfxml_cluster_sharing___policy
+short int surfxml_cluster_sharing___policy_isset;
AT_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical;
#define A_surfxml_ASroute_symmetrical AX_surfxml_ASroute_symmetrical
short int surfxml_ASroute_symmetrical_isset;
-AT_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy;
-#define A_surfxml_cluster_bb___sharing___policy AX_surfxml_cluster_bb___sharing___policy
-short int surfxml_cluster_bb___sharing___policy_isset;
-AT_surfxml_router_id AX_surfxml_router_id;
-#define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
-short int surfxml_router_id_isset;
-AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
-#define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
-short int surfxml_cluster_bw_isset;
-AT_surfxml_cluster_loopback___lat AX_surfxml_cluster_loopback___lat;
-#define A_surfxml_cluster_loopback___lat (surfxml_bufferstack + AX_surfxml_cluster_loopback___lat)
-short int surfxml_cluster_loopback___lat_isset;
-AT_surfxml_bypassASroute_gw___dst AX_surfxml_bypassASroute_gw___dst;
-#define A_surfxml_bypassASroute_gw___dst (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___dst)
-short int surfxml_bypassASroute_gw___dst_isset;
-AT_surfxml_cluster_state___file AX_surfxml_cluster_state___file;
-#define A_surfxml_cluster_state___file (surfxml_bufferstack + AX_surfxml_cluster_state___file)
-short int surfxml_cluster_state___file_isset;
-AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
-#define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
-short int surfxml_storage_typeId_isset;
-AT_surfxml_bypassRoute_src AX_surfxml_bypassRoute_src;
-#define A_surfxml_bypassRoute_src (surfxml_bufferstack + AX_surfxml_bypassRoute_src)
-short int surfxml_bypassRoute_src_isset;
-AT_surfxml_cabinet_bw AX_surfxml_cabinet_bw;
-#define A_surfxml_cabinet_bw (surfxml_bufferstack + AX_surfxml_cabinet_bw)
-short int surfxml_cabinet_bw_isset;
-AT_surfxml_backbone_id AX_surfxml_backbone_id;
-#define A_surfxml_backbone_id (surfxml_bufferstack + AX_surfxml_backbone_id)
-short int surfxml_backbone_id_isset;
-AT_surfxml_storage___type_content___type AX_surfxml_storage___type_content___type;
-#define A_surfxml_storage___type_content___type (surfxml_bufferstack + AX_surfxml_storage___type_content___type)
-short int surfxml_storage___type_content___type_isset;
-AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
-#define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
-short int surfxml_link_bandwidth_isset;
-AT_surfxml_cabinet_suffix AX_surfxml_cabinet_suffix;
-#define A_surfxml_cabinet_suffix (surfxml_bufferstack + AX_surfxml_cabinet_suffix)
-short int surfxml_cabinet_suffix_isset;
-AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
-#define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
-short int surfxml_router_coordinates_isset;
-AT_surfxml_process_kill___time AX_surfxml_process_kill___time;
-#define A_surfxml_process_kill___time (surfxml_bufferstack + AX_surfxml_process_kill___time)
-short int surfxml_process_kill___time_isset;
-AT_surfxml_trace_id AX_surfxml_trace_id;
-#define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
-short int surfxml_trace_id_isset;
-AT_surfxml_process_function AX_surfxml_process_function;
-#define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
-short int surfxml_process_function_isset;
-AT_surfxml_include_file AX_surfxml_include_file;
-#define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
-short int surfxml_include_file_isset;
-AT_surfxml_random_min AX_surfxml_random_min;
-#define A_surfxml_random_min (surfxml_bufferstack + AX_surfxml_random_min)
-short int surfxml_random_min_isset;
-AT_surfxml_cluster_router___id AX_surfxml_cluster_router___id;
-#define A_surfxml_cluster_router___id (surfxml_bufferstack + AX_surfxml_cluster_router___id)
-short int surfxml_cluster_router___id_isset;
-AT_surfxml_backbone_bandwidth AX_surfxml_backbone_bandwidth;
-#define A_surfxml_backbone_bandwidth (surfxml_bufferstack + AX_surfxml_backbone_bandwidth)
-short int surfxml_backbone_bandwidth_isset;
-AT_surfxml_cluster_core AX_surfxml_cluster_core;
-#define A_surfxml_cluster_core (surfxml_bufferstack + AX_surfxml_cluster_core)
-short int surfxml_cluster_core_isset;
-AT_surfxml_platform_version AX_surfxml_platform_version;
-#define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
-short int surfxml_platform_version_isset;
-AT_surfxml_prop_id AX_surfxml_prop_id;
-#define A_surfxml_prop_id (surfxml_bufferstack + AX_surfxml_prop_id)
-short int surfxml_prop_id_isset;
-AT_surfxml_config_id AX_surfxml_config_id;
-#define A_surfxml_config_id (surfxml_bufferstack + AX_surfxml_config_id)
-short int surfxml_config_id_isset;
-AT_surfxml_random_radical AX_surfxml_random_radical;
-#define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
-short int surfxml_random_radical_isset;
-AT_surfxml_link_latency AX_surfxml_link_latency;
-#define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
-short int surfxml_link_latency_isset;
-AT_surfxml_host___link_down AX_surfxml_host___link_down;
-#define A_surfxml_host___link_down (surfxml_bufferstack + AX_surfxml_host___link_down)
-short int surfxml_host___link_down_isset;
AT_surfxml_host_power AX_surfxml_host_power;
#define A_surfxml_host_power (surfxml_bufferstack + AX_surfxml_host_power)
short int surfxml_host_power_isset;
+AT_surfxml_model___prop_id AX_surfxml_model___prop_id;
+#define A_surfxml_model___prop_id (surfxml_bufferstack + AX_surfxml_model___prop_id)
+short int surfxml_model___prop_id_isset;
+AT_surfxml_mstorage_typeId AX_surfxml_mstorage_typeId;
+#define A_surfxml_mstorage_typeId (surfxml_bufferstack + AX_surfxml_mstorage_typeId)
+short int surfxml_mstorage_typeId_isset;
+AT_surfxml_cluster_id AX_surfxml_cluster_id;
+#define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
+short int surfxml_cluster_id_isset;
+AT_surfxml_cluster_topology AX_surfxml_cluster_topology;
+#define A_surfxml_cluster_topology AX_surfxml_cluster_topology
+short int surfxml_cluster_topology_isset;
+AT_surfxml_include_file AX_surfxml_include_file;
+#define A_surfxml_include_file (surfxml_bufferstack + AX_surfxml_include_file)
+short int surfxml_include_file_isset;
+AT_surfxml_link_state AX_surfxml_link_state;
+#define A_surfxml_link_state AX_surfxml_link_state
+short int surfxml_link_state_isset;
+AT_surfxml_random_max AX_surfxml_random_max;
+#define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
+short int surfxml_random_max_isset;
+AT_surfxml_storage___type_content AX_surfxml_storage___type_content;
+#define A_surfxml_storage___type_content (surfxml_bufferstack + AX_surfxml_storage___type_content)
+short int surfxml_storage___type_content_isset;
AT_surfxml_host_state___file AX_surfxml_host_state___file;
#define A_surfxml_host_state___file (surfxml_bufferstack + AX_surfxml_host_state___file)
short int surfxml_host_state___file_isset;
-AT_surfxml_random_seed AX_surfxml_random_seed;
-#define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
-short int surfxml_random_seed_isset;
-AT_surfxml_random_std___deviation AX_surfxml_random_std___deviation;
-#define A_surfxml_random_std___deviation (surfxml_bufferstack + AX_surfxml_random_std___deviation)
-short int surfxml_random_std___deviation_isset;
-AT_surfxml_storage_content___type AX_surfxml_storage_content___type;
-#define A_surfxml_storage_content___type (surfxml_bufferstack + AX_surfxml_storage_content___type)
-short int surfxml_storage_content___type_isset;
-AT_surfxml_random_generator AX_surfxml_random_generator;
-#define A_surfxml_random_generator AX_surfxml_random_generator
-short int surfxml_random_generator_isset;
-AT_surfxml_trace___connect_trace AX_surfxml_trace___connect_trace;
-#define A_surfxml_trace___connect_trace (surfxml_bufferstack + AX_surfxml_trace___connect_trace)
-short int surfxml_trace___connect_trace_isset;
-AT_surfxml_process_on___failure AX_surfxml_process_on___failure;
-#define A_surfxml_process_on___failure AX_surfxml_process_on___failure
-short int surfxml_process_on___failure_isset;
+AT_surfxml_route_symmetrical AX_surfxml_route_symmetrical;
+#define A_surfxml_route_symmetrical AX_surfxml_route_symmetrical
+short int surfxml_route_symmetrical_isset;
+AT_surfxml_random_id AX_surfxml_random_id;
+#define A_surfxml_random_id (surfxml_bufferstack + AX_surfxml_random_id)
+short int surfxml_random_id_isset;
+AT_surfxml_link_state___file AX_surfxml_link_state___file;
+#define A_surfxml_link_state___file (surfxml_bufferstack + AX_surfxml_link_state___file)
+short int surfxml_link_state___file_isset;
+AT_surfxml_gpu_name AX_surfxml_gpu_name;
+#define A_surfxml_gpu_name (surfxml_bufferstack + AX_surfxml_gpu_name)
+short int surfxml_gpu_name_isset;
+AT_surfxml_backbone_id AX_surfxml_backbone_id;
+#define A_surfxml_backbone_id (surfxml_bufferstack + AX_surfxml_backbone_id)
+short int surfxml_backbone_id_isset;
+AT_surfxml_link___ctn_id AX_surfxml_link___ctn_id;
+#define A_surfxml_link___ctn_id (surfxml_bufferstack + AX_surfxml_link___ctn_id)
+short int surfxml_link___ctn_id_isset;
+AT_surfxml_router_id AX_surfxml_router_id;
+#define A_surfxml_router_id (surfxml_bufferstack + AX_surfxml_router_id)
+short int surfxml_router_id_isset;
+AT_surfxml_process_host AX_surfxml_process_host;
+#define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
+short int surfxml_process_host_isset;
+AT_surfxml_random_radical AX_surfxml_random_radical;
+#define A_surfxml_random_radical (surfxml_bufferstack + AX_surfxml_random_radical)
+short int surfxml_random_radical_isset;
AT_surfxml_host_id AX_surfxml_host_id;
#define A_surfxml_host_id (surfxml_bufferstack + AX_surfxml_host_id)
short int surfxml_host_id_isset;
-AT_surfxml_process_start___time AX_surfxml_process_start___time;
-#define A_surfxml_process_start___time (surfxml_bufferstack + AX_surfxml_process_start___time)
-short int surfxml_process_start___time_isset;
-AT_surfxml_storage___type_id AX_surfxml_storage___type_id;
-#define A_surfxml_storage___type_id (surfxml_bufferstack + AX_surfxml_storage___type_id)
-short int surfxml_storage___type_id_isset;
-AT_surfxml_ASroute_dst AX_surfxml_ASroute_dst;
-#define A_surfxml_ASroute_dst (surfxml_bufferstack + AX_surfxml_ASroute_dst)
-short int surfxml_ASroute_dst_isset;
-AT_surfxml_link_id AX_surfxml_link_id;
-#define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
-short int surfxml_link_id_isset;
-AT_surfxml_peer_state___file AX_surfxml_peer_state___file;
-#define A_surfxml_peer_state___file (surfxml_bufferstack + AX_surfxml_peer_state___file)
-short int surfxml_peer_state___file_isset;
-AT_surfxml_storage___type_content AX_surfxml_storage___type_content;
-#define A_surfxml_storage___type_content (surfxml_bufferstack + AX_surfxml_storage___type_content)
-short int surfxml_storage___type_content_isset;
+AT_surfxml_peer_lat AX_surfxml_peer_lat;
+#define A_surfxml_peer_lat (surfxml_bufferstack + AX_surfxml_peer_lat)
+short int surfxml_peer_lat_isset;
+AT_surfxml_cluster_loopback___bw AX_surfxml_cluster_loopback___bw;
+#define A_surfxml_cluster_loopback___bw (surfxml_bufferstack + AX_surfxml_cluster_loopback___bw)
+short int surfxml_cluster_loopback___bw_isset;
+AT_surfxml_process_function AX_surfxml_process_function;
+#define A_surfxml_process_function (surfxml_bufferstack + AX_surfxml_process_function)
+short int surfxml_process_function_isset;
+AT_surfxml_ASroute_gw___dst AX_surfxml_ASroute_gw___dst;
+#define A_surfxml_ASroute_gw___dst (surfxml_bufferstack + AX_surfxml_ASroute_gw___dst)
+short int surfxml_ASroute_gw___dst_isset;
+AT_surfxml_mount_storageId AX_surfxml_mount_storageId;
+#define A_surfxml_mount_storageId (surfxml_bufferstack + AX_surfxml_mount_storageId)
+short int surfxml_mount_storageId_isset;
+AT_surfxml_bypassRoute_dst AX_surfxml_bypassRoute_dst;
+#define A_surfxml_bypassRoute_dst (surfxml_bufferstack + AX_surfxml_bypassRoute_dst)
+short int surfxml_bypassRoute_dst_isset;
+AT_surfxml_cluster_state___file AX_surfxml_cluster_state___file;
+#define A_surfxml_cluster_state___file (surfxml_bufferstack + AX_surfxml_cluster_state___file)
+short int surfxml_cluster_state___file_isset;
AT_surfxml_storage___type_model AX_surfxml_storage___type_model;
#define A_surfxml_storage___type_model (surfxml_bufferstack + AX_surfxml_storage___type_model)
short int surfxml_storage___type_model_isset;
+AT_surfxml_trace_id AX_surfxml_trace_id;
+#define A_surfxml_trace_id (surfxml_bufferstack + AX_surfxml_trace_id)
+short int surfxml_trace_id_isset;
AT_surfxml_bypassASroute_gw___src AX_surfxml_bypassASroute_gw___src;
#define A_surfxml_bypassASroute_gw___src (surfxml_bufferstack + AX_surfxml_bypassASroute_gw___src)
short int surfxml_bypassASroute_gw___src_isset;
-AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
-#define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
-short int surfxml_bypassASroute_dst_isset;
-AT_surfxml_peer_bw___out AX_surfxml_peer_bw___out;
-#define A_surfxml_peer_bw___out (surfxml_bufferstack + AX_surfxml_peer_bw___out)
-short int surfxml_peer_bw___out_isset;
-AT_surfxml_cabinet_prefix AX_surfxml_cabinet_prefix;
-#define A_surfxml_cabinet_prefix (surfxml_bufferstack + AX_surfxml_cabinet_prefix)
-short int surfxml_cabinet_prefix_isset;
-AT_surfxml_backbone_latency AX_surfxml_backbone_latency;
-#define A_surfxml_backbone_latency (surfxml_bufferstack + AX_surfxml_backbone_latency)
-short int surfxml_backbone_latency_isset;
-AT_surfxml_random_mean AX_surfxml_random_mean;
-#define A_surfxml_random_mean (surfxml_bufferstack + AX_surfxml_random_mean)
-short int surfxml_random_mean_isset;
-AT_surfxml_random_max AX_surfxml_random_max;
-#define A_surfxml_random_max (surfxml_bufferstack + AX_surfxml_random_max)
-short int surfxml_random_max_isset;
+AT_surfxml_host_pstate AX_surfxml_host_pstate;
+#define A_surfxml_host_pstate (surfxml_bufferstack + AX_surfxml_host_pstate)
+short int surfxml_host_pstate_isset;
+AT_surfxml_process_kill___time AX_surfxml_process_kill___time;
+#define A_surfxml_process_kill___time (surfxml_bufferstack + AX_surfxml_process_kill___time)
+short int surfxml_process_kill___time_isset;
+AT_surfxml_random_std___deviation AX_surfxml_random_std___deviation;
+#define A_surfxml_random_std___deviation (surfxml_bufferstack + AX_surfxml_random_std___deviation)
+short int surfxml_random_std___deviation_isset;
+AT_surfxml_link_bandwidth AX_surfxml_link_bandwidth;
+#define A_surfxml_link_bandwidth (surfxml_bufferstack + AX_surfxml_link_bandwidth)
+short int surfxml_link_bandwidth_isset;
AT_surfxml_route_src AX_surfxml_route_src;
#define A_surfxml_route_src (surfxml_bufferstack + AX_surfxml_route_src)
short int surfxml_route_src_isset;
-AT_surfxml_mstorage_name AX_surfxml_mstorage_name;
-#define A_surfxml_mstorage_name (surfxml_bufferstack + AX_surfxml_mstorage_name)
-short int surfxml_mstorage_name_isset;
-AT_surfxml_host_availability AX_surfxml_host_availability;
-#define A_surfxml_host_availability (surfxml_bufferstack + AX_surfxml_host_availability)
-short int surfxml_host_availability_isset;
-AT_surfxml_trace_periodicity AX_surfxml_trace_periodicity;
-#define A_surfxml_trace_periodicity (surfxml_bufferstack + AX_surfxml_trace_periodicity)
-short int surfxml_trace_periodicity_isset;
-AT_surfxml_ASroute_gw___dst AX_surfxml_ASroute_gw___dst;
-#define A_surfxml_ASroute_gw___dst (surfxml_bufferstack + AX_surfxml_ASroute_gw___dst)
-short int surfxml_ASroute_gw___dst_isset;
-AT_surfxml_cluster_id AX_surfxml_cluster_id;
-#define A_surfxml_cluster_id (surfxml_bufferstack + AX_surfxml_cluster_id)
-short int surfxml_cluster_id_isset;
AT_surfxml_cluster_bb___bw AX_surfxml_cluster_bb___bw;
#define A_surfxml_cluster_bb___bw (surfxml_bufferstack + AX_surfxml_cluster_bb___bw)
short int surfxml_cluster_bb___bw_isset;
-AT_surfxml_link_state___file AX_surfxml_link_state___file;
-#define A_surfxml_link_state___file (surfxml_bufferstack + AX_surfxml_link_state___file)
-short int surfxml_link_state___file_isset;
-AT_surfxml_cluster_lat AX_surfxml_cluster_lat;
-#define A_surfxml_cluster_lat (surfxml_bufferstack + AX_surfxml_cluster_lat)
-short int surfxml_cluster_lat_isset;
-AT_surfxml_cabinet_lat AX_surfxml_cabinet_lat;
-#define A_surfxml_cabinet_lat (surfxml_bufferstack + AX_surfxml_cabinet_lat)
-short int surfxml_cabinet_lat_isset;
-AT_surfxml_cluster_topology AX_surfxml_cluster_topology;
-#define A_surfxml_cluster_topology AX_surfxml_cluster_topology
-short int surfxml_cluster_topology_isset;
-AT_surfxml_host___link_id AX_surfxml_host___link_id;
-#define A_surfxml_host___link_id (surfxml_bufferstack + AX_surfxml_host___link_id)
-short int surfxml_host___link_id_isset;
-AT_surfxml_peer_availability___file AX_surfxml_peer_availability___file;
-#define A_surfxml_peer_availability___file (surfxml_bufferstack + AX_surfxml_peer_availability___file)
-short int surfxml_peer_availability___file_isset;
-AT_surfxml_prop_value AX_surfxml_prop_value;
-#define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
-short int surfxml_prop_value_isset;
-AT_surfxml_process_host AX_surfxml_process_host;
-#define A_surfxml_process_host (surfxml_bufferstack + AX_surfxml_process_host)
-short int surfxml_process_host_isset;
+AT_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy;
+#define A_surfxml_link_sharing___policy AX_surfxml_link_sharing___policy
+short int surfxml_link_sharing___policy_isset;
+AT_surfxml_storage___type_id AX_surfxml_storage___type_id;
+#define A_surfxml_storage___type_id (surfxml_bufferstack + AX_surfxml_storage___type_id)
+short int surfxml_storage___type_id_isset;
+AT_surfxml_platform_version AX_surfxml_platform_version;
+#define A_surfxml_platform_version (surfxml_bufferstack + AX_surfxml_platform_version)
+short int surfxml_platform_version_isset;
+AT_surfxml_cluster_loopback___lat AX_surfxml_cluster_loopback___lat;
+#define A_surfxml_cluster_loopback___lat (surfxml_bufferstack + AX_surfxml_cluster_loopback___lat)
+short int surfxml_cluster_loopback___lat_isset;
+AT_surfxml_storage_typeId AX_surfxml_storage_typeId;
+#define A_surfxml_storage_typeId (surfxml_bufferstack + AX_surfxml_storage_typeId)
+short int surfxml_storage_typeId_isset;
+AT_surfxml_backbone_bandwidth AX_surfxml_backbone_bandwidth;
+#define A_surfxml_backbone_bandwidth (surfxml_bufferstack + AX_surfxml_backbone_bandwidth)
+short int surfxml_backbone_bandwidth_isset;
+AT_surfxml_cluster_bw AX_surfxml_cluster_bw;
+#define A_surfxml_cluster_bw (surfxml_bufferstack + AX_surfxml_cluster_bw)
+short int surfxml_cluster_bw_isset;
+AT_surfxml_peer_id AX_surfxml_peer_id;
+#define A_surfxml_peer_id (surfxml_bufferstack + AX_surfxml_peer_id)
+short int surfxml_peer_id_isset;
+AT_surfxml_storage___type_size AX_surfxml_storage___type_size;
+#define A_surfxml_storage___type_size (surfxml_bufferstack + AX_surfxml_storage___type_size)
+short int surfxml_storage___type_size_isset;
+AT_surfxml_link_id AX_surfxml_link_id;
+#define A_surfxml_link_id (surfxml_bufferstack + AX_surfxml_link_id)
+short int surfxml_link_id_isset;
AT_surfxml_model___prop_value AX_surfxml_model___prop_value;
#define A_surfxml_model___prop_value (surfxml_bufferstack + AX_surfxml_model___prop_value)
short int surfxml_model___prop_value_isset;
-AT_surfxml_AS_routing AX_surfxml_AS_routing;
-#define A_surfxml_AS_routing AX_surfxml_AS_routing
-short int surfxml_AS_routing_isset;
-AT_surfxml_bypassASroute_src AX_surfxml_bypassASroute_src;
-#define A_surfxml_bypassASroute_src (surfxml_bufferstack + AX_surfxml_bypassASroute_src)
-short int surfxml_bypassASroute_src_isset;
-AT_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind;
-#define A_surfxml_trace___connect_kind AX_surfxml_trace___connect_kind
-short int surfxml_trace___connect_kind_isset;
+AT_surfxml_storage_content___type AX_surfxml_storage_content___type;
+#define A_surfxml_storage_content___type (surfxml_bufferstack + AX_surfxml_storage_content___type)
+short int surfxml_storage_content___type_isset;
+AT_surfxml_trace___connect_element AX_surfxml_trace___connect_element;
+#define A_surfxml_trace___connect_element (surfxml_bufferstack + AX_surfxml_trace___connect_element)
+short int surfxml_trace___connect_element_isset;
AT_surfxml_peer_coordinates AX_surfxml_peer_coordinates;
#define A_surfxml_peer_coordinates (surfxml_bufferstack + AX_surfxml_peer_coordinates)
short int surfxml_peer_coordinates_isset;
-AT_surfxml_cluster_topo___parameters AX_surfxml_cluster_topo___parameters;
-#define A_surfxml_cluster_topo___parameters (surfxml_bufferstack + AX_surfxml_cluster_topo___parameters)
-short int surfxml_cluster_topo___parameters_isset;
+AT_surfxml_trace___connect_trace AX_surfxml_trace___connect_trace;
+#define A_surfxml_trace___connect_trace (surfxml_bufferstack + AX_surfxml_trace___connect_trace)
+short int surfxml_trace___connect_trace_isset;
+AT_surfxml_cabinet_suffix AX_surfxml_cabinet_suffix;
+#define A_surfxml_cabinet_suffix (surfxml_bufferstack + AX_surfxml_cabinet_suffix)
+short int surfxml_cabinet_suffix_isset;
+AT_surfxml_random_seed AX_surfxml_random_seed;
+#define A_surfxml_random_seed (surfxml_bufferstack + AX_surfxml_random_seed)
+short int surfxml_random_seed_isset;
+AT_surfxml_peer_bw___in AX_surfxml_peer_bw___in;
+#define A_surfxml_peer_bw___in (surfxml_bufferstack + AX_surfxml_peer_bw___in)
+short int surfxml_peer_bw___in_isset;
+AT_surfxml_bypassASroute_dst AX_surfxml_bypassASroute_dst;
+#define A_surfxml_bypassASroute_dst (surfxml_bufferstack + AX_surfxml_bypassASroute_dst)
+short int surfxml_bypassASroute_dst_isset;
+AT_surfxml_prop_value AX_surfxml_prop_value;
+#define A_surfxml_prop_value (surfxml_bufferstack + AX_surfxml_prop_value)
+short int surfxml_prop_value_isset;
+AT_surfxml_router_coordinates AX_surfxml_router_coordinates;
+#define A_surfxml_router_coordinates (surfxml_bufferstack + AX_surfxml_router_coordinates)
+short int surfxml_router_coordinates_isset;
+AT_surfxml_link_latency AX_surfxml_link_latency;
+#define A_surfxml_link_latency (surfxml_bufferstack + AX_surfxml_link_latency)
+short int surfxml_link_latency_isset;
/* XML state. */
#ifdef FLEX_DEBUG
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</platform>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(E_surfxml_platform):
+case YY_STATE_EOF(S_surfxml_platform_3):
+case YY_STATE_EOF(S_surfxml_platform_6):
case YY_STATE_EOF(S_surfxml_platform_1):
case YY_STATE_EOF(S_surfxml_platform_8):
case YY_STATE_EOF(S_surfxml_platform_4):
+case YY_STATE_EOF(E_surfxml_platform):
case YY_STATE_EOF(S_surfxml_platform):
-case YY_STATE_EOF(S_surfxml_platform_3):
-case YY_STATE_EOF(S_surfxml_platform_6):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</platform>' expected.");
YY_BREAK
if (!AX_surfxml_include_file) FAIL("Required attribute `file' not set for `include' element.");
LEAVE; STag_surfxml_include(); surfxml_pcdata_ix = 0; ETag_surfxml_include(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform_6: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
- case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_13: case S_surfxml_AS_14: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
- case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_13: case S_surfxml_AS_14: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
+ case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
}
}
YY_BREAK
ETag_surfxml_include();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform_6: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
- case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_13: case S_surfxml_AS_14: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
- case S_surfxml_include: case S_surfxml_include_1: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_13: case S_surfxml_AS_14: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
+ case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
}
}
YY_BREAK
FAIL("Unexpected character `%c': `</include>' expected.",surf_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(S_surfxml_include):
-case YY_STATE_EOF(S_surfxml_include_2):
case YY_STATE_EOF(E_surfxml_include):
+case YY_STATE_EOF(S_surfxml_include_2):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</include>' expected.");
YY_BREAK
if (!AX_surfxml_trace_periodicity) FAIL("Required attribute `periodicity' not set for `trace' element.");
LEAVE; STag_surfxml_trace(); surfxml_pcdata_ix = 0; ETag_surfxml_trace(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_include_2: case S_surfxml_include: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
- case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_AS_11: case S_surfxml_AS_7: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
+ case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_3: SET(S_surfxml_AS_9); break;
+ case S_surfxml_include_1: case S_surfxml_include: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_10: case S_surfxml_AS_7: case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS_11: SET(S_surfxml_AS_11); break;
+ case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform_1: SET(S_surfxml_platform_6); break;
case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_16: case S_surfxml_AS_12: case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS_15: SET(S_surfxml_AS_16); break;
- case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_8: case S_surfxml_AS_9: SET(S_surfxml_AS_9); break;
- case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_15: case S_surfxml_AS: case S_surfxml_AS_16: case S_surfxml_AS_12: SET(S_surfxml_AS_16); break;
}
}
YY_BREAK
surfxml_pcdata_ix = popbuffer();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_include_2: case S_surfxml_include: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
- case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_AS_11: case S_surfxml_AS_7: case S_surfxml_AS_10: case S_surfxml_AS: SET(S_surfxml_AS_11); break;
+ case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_3: SET(S_surfxml_AS_9); break;
+ case S_surfxml_include_1: case S_surfxml_include: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_10: case S_surfxml_AS_7: case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS_11: SET(S_surfxml_AS_11); break;
+ case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform_1: SET(S_surfxml_platform_6); break;
case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_16: case S_surfxml_AS_12: case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS_15: SET(S_surfxml_AS_16); break;
- case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_8: case S_surfxml_AS_9: SET(S_surfxml_AS_9); break;
- case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_15: case S_surfxml_AS: case S_surfxml_AS_16: case S_surfxml_AS_12: SET(S_surfxml_AS_16); break;
}
}
YY_BREAK
if (!AX_surfxml_random_std___deviation) FAIL("Required attribute `std_deviation' not set for `random' element.");
LEAVE; STag_surfxml_random(); surfxml_pcdata_ix = 0; ETag_surfxml_random(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
+ case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
}
}
YY_BREAK
ETag_surfxml_random();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform_2: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_3); break;
+ case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_2: SET(S_surfxml_platform_3); break;
}
}
YY_BREAK
if (!AX_surfxml_trace___connect_element) FAIL("Required attribute `element' not set for `trace_connect' element.");
LEAVE; STag_surfxml_trace___connect(); surfxml_pcdata_ix = 0; ETag_surfxml_trace___connect(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_16: case S_surfxml_AS_12: case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_15: case S_surfxml_AS_1: SET(S_surfxml_AS_16); break;
- case S_surfxml_AS_11: case S_surfxml_AS_7: case S_surfxml_AS: case S_surfxml_AS_10: SET(S_surfxml_AS_11); break;
+ case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_3: SET(S_surfxml_AS_9); break;
+ case S_surfxml_include_1: case S_surfxml_include: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_10: case S_surfxml_AS_7: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_1: SET(S_surfxml_AS_11); break;
+ case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform_1: SET(S_surfxml_platform_6); break;
case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_8: case S_surfxml_AS_9: SET(S_surfxml_AS_9); break;
- case S_surfxml_platform: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
- case S_surfxml_include_2: case S_surfxml_include_1: case S_surfxml_include: SET(S_surfxml_include_2); break;
- case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_15: case S_surfxml_AS_12: case S_surfxml_AS: case S_surfxml_AS_16: SET(S_surfxml_AS_16); break;
}
}
YY_BREAK
ETag_surfxml_trace___connect();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_16: case S_surfxml_AS_12: case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_15: case S_surfxml_AS_1: SET(S_surfxml_AS_16); break;
- case S_surfxml_AS_11: case S_surfxml_AS_7: case S_surfxml_AS: case S_surfxml_AS_10: SET(S_surfxml_AS_11); break;
+ case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_3: SET(S_surfxml_AS_9); break;
+ case S_surfxml_include_1: case S_surfxml_include: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_10: case S_surfxml_AS_7: case S_surfxml_AS_9: case S_surfxml_AS_11: case S_surfxml_AS_1: SET(S_surfxml_AS_11); break;
+ case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform_1: SET(S_surfxml_platform_6); break;
case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_4: case S_surfxml_AS_6: case S_surfxml_AS_8: case S_surfxml_AS_9: SET(S_surfxml_AS_9); break;
- case S_surfxml_platform: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
- case S_surfxml_include_2: case S_surfxml_include_1: case S_surfxml_include: SET(S_surfxml_include_2); break;
- case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_15: case S_surfxml_AS_12: case S_surfxml_AS: case S_surfxml_AS_16: SET(S_surfxml_AS_16); break;
}
}
YY_BREAK
if (!AX_surfxml_AS_routing) FAIL("Required attribute `routing' not set for `AS' element.");
LEAVE; STag_surfxml_AS(); surfxml_pcdata_ix = 0; ETag_surfxml_AS(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_include_1: case S_surfxml_include: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
- case S_surfxml_platform_6: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
+ case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
+ case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS: SET(S_surfxml_AS_6); break;
}
}
YY_BREAK
ETag_surfxml_AS();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_include_1: case S_surfxml_include: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
- case S_surfxml_platform_6: case S_surfxml_platform_3: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
+ case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
+ case S_surfxml_platform: case S_surfxml_platform_3: case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS: SET(S_surfxml_AS_6); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</AS>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(S_surfxml_AS_12):
+case YY_STATE_EOF(S_surfxml_AS_4):
+case YY_STATE_EOF(S_surfxml_AS_1):
case YY_STATE_EOF(S_surfxml_AS_3):
-case YY_STATE_EOF(E_surfxml_AS):
+case YY_STATE_EOF(S_surfxml_AS_11):
case YY_STATE_EOF(S_surfxml_AS_14):
-case YY_STATE_EOF(S_surfxml_AS_16):
-case YY_STATE_EOF(S_surfxml_AS):
-case YY_STATE_EOF(S_surfxml_AS_9):
+case YY_STATE_EOF(E_surfxml_AS):
case YY_STATE_EOF(S_surfxml_AS_6):
-case YY_STATE_EOF(S_surfxml_AS_11):
case YY_STATE_EOF(S_surfxml_AS_7):
-case YY_STATE_EOF(S_surfxml_AS_1):
-case YY_STATE_EOF(S_surfxml_AS_4):
+case YY_STATE_EOF(S_surfxml_AS_9):
+case YY_STATE_EOF(S_surfxml_AS_16):
+case YY_STATE_EOF(S_surfxml_AS):
+case YY_STATE_EOF(S_surfxml_AS_12):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</AS>' expected.");
YY_BREAK
if (!AX_surfxml_storage___type_size) FAIL("Required attribute `size' not set for `storage_type' element.");
LEAVE; STag_surfxml_storage___type(); surfxml_pcdata_ix = 0; ETag_surfxml_storage___type(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_14: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
}
}
YY_BREAK
ETag_surfxml_storage___type();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_14: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
}
}
YY_BREAK
FAIL("Unexpected character `%c': `</storage_type>' expected.",surf_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(E_surfxml_storage___type):
-case YY_STATE_EOF(S_surfxml_storage___type):
case YY_STATE_EOF(S_surfxml_storage___type_2):
+case YY_STATE_EOF(S_surfxml_storage___type):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage_type>' expected.");
YY_BREAK
if (!AX_surfxml_mount_name) FAIL("Required attribute `name' not set for `mount' element.");
LEAVE; STag_surfxml_mount(); surfxml_pcdata_ix = 0; ETag_surfxml_mount(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_host_2: case S_surfxml_host: case S_surfxml_host_1: SET(S_surfxml_host_2); break;
+ case S_surfxml_host_1: case S_surfxml_host: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
}
}
YY_BREAK
ETag_surfxml_mount();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_host_2: case S_surfxml_host: case S_surfxml_host_1: SET(S_surfxml_host_2); break;
+ case S_surfxml_host_1: case S_surfxml_host: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
}
}
YY_BREAK
if (!AX_surfxml_mstorage_name) FAIL("Required attribute `name' not set for `mstorage' element.");
LEAVE; STag_surfxml_mstorage(); surfxml_pcdata_ix = 0; ETag_surfxml_mstorage(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_host_1: case S_surfxml_host: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
+ case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
}
}
YY_BREAK
ETag_surfxml_mstorage();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_host_1: case S_surfxml_host: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
+ case S_surfxml_host_1: case S_surfxml_host_2: case S_surfxml_host: SET(S_surfxml_host_2); break;
}
}
YY_BREAK
if (!AX_surfxml_host_power) FAIL("Required attribute `power' not set for `host' element.");
LEAVE; STag_surfxml_host(); surfxml_pcdata_ix = 0; ETag_surfxml_host(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
ETag_surfxml_host();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</host>' expected.",surf_parse_text[0]);
YY_BREAK
+case YY_STATE_EOF(S_surfxml_host_2):
case YY_STATE_EOF(S_surfxml_host):
case YY_STATE_EOF(E_surfxml_host):
-case YY_STATE_EOF(S_surfxml_host_2):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</host>' expected.");
YY_BREAK
if (!AX_surfxml_storage_attach) FAIL("Required attribute `attach' not set for `storage' element.");
LEAVE; STag_surfxml_storage(); surfxml_pcdata_ix = 0; ETag_surfxml_storage(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
- case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_14: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
ETag_surfxml_storage();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
- case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_14: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_1: case S_surfxml_AS_5: case S_surfxml_AS_6: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
FAIL("Unexpected character `%c': `</storage>' expected.",surf_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(E_surfxml_storage):
-case YY_STATE_EOF(S_surfxml_storage_2):
case YY_STATE_EOF(S_surfxml_storage):
+case YY_STATE_EOF(S_surfxml_storage_2):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</storage>' expected.");
YY_BREAK
if (!AX_surfxml_gpu_name) FAIL("Required attribute `name' not set for `gpu' element.");
LEAVE; STag_surfxml_gpu(); surfxml_pcdata_ix = 0; ETag_surfxml_gpu(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_14: case S_surfxml_AS_3: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_13: case S_surfxml_AS_1: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
ETag_surfxml_gpu();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_14: case S_surfxml_AS_3: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_13: case S_surfxml_AS_1: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
if (!AX_surfxml_host___link_down) FAIL("Required attribute `down' not set for `host_link' element.");
LEAVE; STag_surfxml_host___link(); surfxml_pcdata_ix = 0; ETag_surfxml_host___link(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_13: case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_14: case S_surfxml_AS_3: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
ETag_surfxml_host___link();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_13: case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_14: case S_surfxml_AS_3: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS_13: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
if (!AX_surfxml_cluster_lat) FAIL("Required attribute `lat' not set for `cluster' element.");
LEAVE; STag_surfxml_cluster(); surfxml_pcdata_ix = 0; ETag_surfxml_cluster(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_include_1: case S_surfxml_include: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
- case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_platform_3: case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS: case S_surfxml_AS_5: case S_surfxml_AS_6: case S_surfxml_AS_1: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
+ case S_surfxml_include_1: case S_surfxml_include_2: case S_surfxml_include: SET(S_surfxml_include_2); break;
}
}
YY_BREAK
ETag_surfxml_cluster();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_include_1: case S_surfxml_include: case S_surfxml_include_2: SET(S_surfxml_include_2); break;
- case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
- case S_surfxml_platform_3: case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS: case S_surfxml_AS_5: case S_surfxml_AS_6: case S_surfxml_AS_1: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
+ case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform: SET(S_surfxml_platform_6); break;
+ case S_surfxml_include_1: case S_surfxml_include_2: case S_surfxml_include: SET(S_surfxml_include_2); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</cluster>' expected.",surf_parse_text[0]);
YY_BREAK
+case YY_STATE_EOF(S_surfxml_cluster):
case YY_STATE_EOF(S_surfxml_cluster_2):
case YY_STATE_EOF(E_surfxml_cluster):
-case YY_STATE_EOF(S_surfxml_cluster):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</cluster>' expected.");
YY_BREAK
if (!AX_surfxml_cabinet_lat) FAIL("Required attribute `lat' not set for `cabinet' element.");
LEAVE; STag_surfxml_cabinet(); surfxml_pcdata_ix = 0; ETag_surfxml_cabinet(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
- case S_surfxml_AS_13: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_5: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
- case S_surfxml_include_2: case S_surfxml_include_1: case S_surfxml_include: SET(S_surfxml_include_2); break;
+ case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
+ case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_14: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
ETag_surfxml_cabinet();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform: case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
- case S_surfxml_AS_13: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_5: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
- case S_surfxml_include_2: case S_surfxml_include_1: case S_surfxml_include: SET(S_surfxml_include_2); break;
+ case S_surfxml_include: case S_surfxml_include_2: case S_surfxml_include_1: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
+ case S_surfxml_platform_1: case S_surfxml_platform_5: case S_surfxml_platform_6: case S_surfxml_platform: case S_surfxml_platform_3: SET(S_surfxml_platform_6); break;
+ case S_surfxml_AS_13: case S_surfxml_AS: case S_surfxml_AS_14: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
if (!AX_surfxml_peer_lat) FAIL("Required attribute `lat' not set for `peer' element.");
LEAVE; STag_surfxml_peer(); surfxml_pcdata_ix = 0; ETag_surfxml_peer(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
- case S_surfxml_include_2: case S_surfxml_include_1: case S_surfxml_include: SET(S_surfxml_include_2); break;
- case S_surfxml_AS_5: case S_surfxml_AS_6: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_1: SET(S_surfxml_AS_6); break;
+ case S_surfxml_include_1: case S_surfxml_include_2: case S_surfxml_include: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_1: SET(S_surfxml_AS_6); break;
+ case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: SET(S_surfxml_platform_6); break;
}
}
YY_BREAK
ETag_surfxml_peer();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform: case S_surfxml_platform_5: case S_surfxml_platform_1: case S_surfxml_platform_3: case S_surfxml_platform_6: SET(S_surfxml_platform_6); break;
- case S_surfxml_include_2: case S_surfxml_include_1: case S_surfxml_include: SET(S_surfxml_include_2); break;
- case S_surfxml_AS_5: case S_surfxml_AS_6: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_1: SET(S_surfxml_AS_6); break;
+ case S_surfxml_include_1: case S_surfxml_include_2: case S_surfxml_include: SET(S_surfxml_include_2); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_5: case S_surfxml_AS: case S_surfxml_AS_6: case S_surfxml_AS_1: SET(S_surfxml_AS_6); break;
+ case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_6: case S_surfxml_platform_5: case S_surfxml_platform_1: SET(S_surfxml_platform_6); break;
}
}
YY_BREAK
if (!AX_surfxml_router_id) FAIL("Required attribute `id' not set for `router' element.");
LEAVE; STag_surfxml_router(); surfxml_pcdata_ix = 0; ETag_surfxml_router(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_13: case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_13: case S_surfxml_AS_1: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
ETag_surfxml_router();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_13: case S_surfxml_AS_3: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS: case S_surfxml_AS_13: case S_surfxml_AS_1: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
if (!AX_surfxml_backbone_latency) FAIL("Required attribute `latency' not set for `backbone' element.");
LEAVE; STag_surfxml_backbone(); surfxml_pcdata_ix = 0; ETag_surfxml_backbone(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_5: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
- case S_surfxml_AS_13: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_14: case S_surfxml_AS: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_1: SET(S_surfxml_AS_6); break;
}
}
YY_BREAK
ETag_surfxml_backbone();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_5: case S_surfxml_AS_6: case S_surfxml_AS_3: SET(S_surfxml_AS_6); break;
- case S_surfxml_AS_13: case S_surfxml_AS_14: case S_surfxml_AS_1: case S_surfxml_AS: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_14: case S_surfxml_AS: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_1: SET(S_surfxml_AS_6); break;
}
}
YY_BREAK
if (!AX_surfxml_link_bandwidth) FAIL("Required attribute `bandwidth' not set for `link' element.");
LEAVE; STag_surfxml_link(); surfxml_pcdata_ix = 0; ETag_surfxml_link(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_14: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_1: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
ETag_surfxml_link();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_1: case S_surfxml_AS: case S_surfxml_AS_14: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
- case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_3: case S_surfxml_AS_6: case S_surfxml_AS_5: case S_surfxml_AS_1: SET(S_surfxml_AS_6); break;
+ case S_surfxml_AS_14: case S_surfxml_AS: case S_surfxml_AS_13: SET(S_surfxml_AS_14); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</link>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(E_surfxml_link):
case YY_STATE_EOF(S_surfxml_link_2):
+case YY_STATE_EOF(E_surfxml_link):
case YY_STATE_EOF(S_surfxml_link):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</link>' expected.");
YY_BREAK
if (!AX_surfxml_route_dst) FAIL("Required attribute `dst' not set for `route' element.");
LEAVE; STag_surfxml_route(); surfxml_pcdata_ix = 0; ETag_surfxml_route(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_16: case S_surfxml_AS_1: case S_surfxml_AS_15: case S_surfxml_AS: case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS_12: SET(S_surfxml_AS_16); break;
+ case S_surfxml_AS: case S_surfxml_AS_16: case S_surfxml_AS_12: case S_surfxml_AS_1: case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS_15: SET(S_surfxml_AS_16); break;
}
}
YY_BREAK
ETag_surfxml_route();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_16: case S_surfxml_AS_1: case S_surfxml_AS_15: case S_surfxml_AS: case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS_12: SET(S_surfxml_AS_16); break;
+ case S_surfxml_AS: case S_surfxml_AS_16: case S_surfxml_AS_12: case S_surfxml_AS_1: case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS_15: SET(S_surfxml_AS_16); break;
}
}
YY_BREAK
FAIL("Unexpected character `%c': `</route>' expected.",surf_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(S_surfxml_route_2):
-case YY_STATE_EOF(E_surfxml_route):
case YY_STATE_EOF(S_surfxml_route):
+case YY_STATE_EOF(E_surfxml_route):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</route>' expected.");
YY_BREAK
if (!AX_surfxml_ASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `ASroute' element.");
LEAVE; STag_surfxml_ASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_ASroute(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_8: case S_surfxml_AS_3: case S_surfxml_AS_1: case S_surfxml_AS_9: case S_surfxml_AS: case S_surfxml_AS_4: case S_surfxml_AS_6: SET(S_surfxml_AS_9); break;
+ case S_surfxml_AS_6: case S_surfxml_AS_9: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_3: SET(S_surfxml_AS_9); break;
}
}
YY_BREAK
ETag_surfxml_ASroute();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_8: case S_surfxml_AS_3: case S_surfxml_AS_1: case S_surfxml_AS_9: case S_surfxml_AS: case S_surfxml_AS_4: case S_surfxml_AS_6: SET(S_surfxml_AS_9); break;
+ case S_surfxml_AS_6: case S_surfxml_AS_9: case S_surfxml_AS: case S_surfxml_AS_1: case S_surfxml_AS_8: case S_surfxml_AS_4: case S_surfxml_AS_3: SET(S_surfxml_AS_9); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</ASroute>' expected.",surf_parse_text[0]);
YY_BREAK
+case YY_STATE_EOF(S_surfxml_ASroute):
case YY_STATE_EOF(E_surfxml_ASroute):
case YY_STATE_EOF(S_surfxml_ASroute_2):
-case YY_STATE_EOF(S_surfxml_ASroute):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</ASroute>' expected.");
YY_BREAK
if (!AX_surfxml_link___ctn_id) FAIL("Required attribute `id' not set for `link_ctn' element.");
LEAVE; STag_surfxml_link___ctn(); surfxml_pcdata_ix = 0; ETag_surfxml_link___ctn(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
- case S_surfxml_bypassRoute_1: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute: SET(S_surfxml_bypassRoute_2); break;
+ case S_surfxml_route_1: case S_surfxml_route_2: case S_surfxml_route: SET(S_surfxml_route_2); break;
case S_surfxml_bypassASroute: case S_surfxml_bypassASroute_2: case S_surfxml_bypassASroute_1: SET(S_surfxml_bypassASroute_2); break;
- case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
+ case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
+ case S_surfxml_ASroute: case S_surfxml_ASroute_2: case S_surfxml_ASroute_1: SET(S_surfxml_ASroute_2); break;
}
}
YY_BREAK
ETag_surfxml_link___ctn();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_route_1: case S_surfxml_route: case S_surfxml_route_2: SET(S_surfxml_route_2); break;
- case S_surfxml_bypassRoute_1: case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute: SET(S_surfxml_bypassRoute_2); break;
+ case S_surfxml_route_1: case S_surfxml_route_2: case S_surfxml_route: SET(S_surfxml_route_2); break;
case S_surfxml_bypassASroute: case S_surfxml_bypassASroute_2: case S_surfxml_bypassASroute_1: SET(S_surfxml_bypassASroute_2); break;
- case S_surfxml_ASroute: case S_surfxml_ASroute_1: case S_surfxml_ASroute_2: SET(S_surfxml_ASroute_2); break;
+ case S_surfxml_bypassRoute_2: case S_surfxml_bypassRoute: case S_surfxml_bypassRoute_1: SET(S_surfxml_bypassRoute_2); break;
+ case S_surfxml_ASroute: case S_surfxml_ASroute_2: case S_surfxml_ASroute_1: SET(S_surfxml_ASroute_2); break;
}
}
YY_BREAK
if (!AX_surfxml_bypassRoute_dst) FAIL("Required attribute `dst' not set for `bypassRoute' element.");
LEAVE; STag_surfxml_bypassRoute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassRoute(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_16: case S_surfxml_AS_1: case S_surfxml_AS_15: case S_surfxml_AS: case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS_12: SET(S_surfxml_AS_16); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_15: case S_surfxml_AS_3: case S_surfxml_AS_12: case S_surfxml_AS_16: case S_surfxml_AS: case S_surfxml_AS_1: SET(S_surfxml_AS_16); break;
}
}
YY_BREAK
ETag_surfxml_bypassRoute();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_16: case S_surfxml_AS_1: case S_surfxml_AS_15: case S_surfxml_AS: case S_surfxml_AS_14: case S_surfxml_AS_3: case S_surfxml_AS_12: SET(S_surfxml_AS_16); break;
+ case S_surfxml_AS_14: case S_surfxml_AS_15: case S_surfxml_AS_3: case S_surfxml_AS_12: case S_surfxml_AS_16: case S_surfxml_AS: case S_surfxml_AS_1: SET(S_surfxml_AS_16); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</bypassRoute>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(S_surfxml_bypassRoute):
case YY_STATE_EOF(S_surfxml_bypassRoute_2):
case YY_STATE_EOF(E_surfxml_bypassRoute):
+case YY_STATE_EOF(S_surfxml_bypassRoute):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassRoute>' expected.");
YY_BREAK
if (!AX_surfxml_bypassASroute_gw___dst) FAIL("Required attribute `gw_dst' not set for `bypassASroute' element.");
LEAVE; STag_surfxml_bypassASroute(); surfxml_pcdata_ix = 0; ETag_surfxml_bypassASroute(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_6: case S_surfxml_AS_4: case S_surfxml_AS: case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_8: SET(S_surfxml_AS_9); break;
+ case S_surfxml_AS_4: case S_surfxml_AS_3: case S_surfxml_AS_8: case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS: case S_surfxml_AS_9: SET(S_surfxml_AS_9); break;
}
}
YY_BREAK
ETag_surfxml_bypassASroute();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_AS_6: case S_surfxml_AS_4: case S_surfxml_AS: case S_surfxml_AS_9: case S_surfxml_AS_1: case S_surfxml_AS_3: case S_surfxml_AS_8: SET(S_surfxml_AS_9); break;
+ case S_surfxml_AS_4: case S_surfxml_AS_3: case S_surfxml_AS_8: case S_surfxml_AS_1: case S_surfxml_AS_6: case S_surfxml_AS: case S_surfxml_AS_9: SET(S_surfxml_AS_9); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</bypassASroute>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(E_surfxml_bypassASroute):
case YY_STATE_EOF(S_surfxml_bypassASroute):
+case YY_STATE_EOF(E_surfxml_bypassASroute):
case YY_STATE_EOF(S_surfxml_bypassASroute_2):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</bypassASroute>' expected.");
YY_BREAK
if (!AX_surfxml_process_function) FAIL("Required attribute `function' not set for `process' element.");
LEAVE; STag_surfxml_process(); surfxml_pcdata_ix = 0; ETag_surfxml_process(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform_6: case S_surfxml_platform_3: case S_surfxml_platform_4: case S_surfxml_platform_7: case S_surfxml_platform_8: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_8); break;
+ case S_surfxml_platform_7: case S_surfxml_platform_6: case S_surfxml_platform_1: case S_surfxml_platform_4: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_8: SET(S_surfxml_platform_8); break;
}
}
YY_BREAK
ETag_surfxml_process();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_platform_6: case S_surfxml_platform_3: case S_surfxml_platform_4: case S_surfxml_platform_7: case S_surfxml_platform_8: case S_surfxml_platform_1: case S_surfxml_platform: SET(S_surfxml_platform_8); break;
+ case S_surfxml_platform_7: case S_surfxml_platform_6: case S_surfxml_platform_1: case S_surfxml_platform_4: case S_surfxml_platform_3: case S_surfxml_platform: case S_surfxml_platform_8: SET(S_surfxml_platform_8); break;
}
}
YY_BREAK
YY_RULE_SETUP
FAIL("Unexpected character `%c': `</process>' expected.",surf_parse_text[0]);
YY_BREAK
-case YY_STATE_EOF(E_surfxml_process):
case YY_STATE_EOF(S_surfxml_process_2):
case YY_STATE_EOF(S_surfxml_process):
+case YY_STATE_EOF(E_surfxml_process):
if(!ETag_surfxml_include_state()) FAIL("Premature EOF: `</process>' expected.");
YY_BREAK
if (!AX_surfxml_argument_value) FAIL("Required attribute `value' not set for `argument' element.");
LEAVE; STag_surfxml_argument(); surfxml_pcdata_ix = 0; ETag_surfxml_argument(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_process: case S_surfxml_process_2: case S_surfxml_process_1: SET(S_surfxml_process_2); break;
+ case S_surfxml_process_2: case S_surfxml_process: case S_surfxml_process_1: SET(S_surfxml_process_2); break;
}
}
YY_BREAK
ETag_surfxml_argument();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_process: case S_surfxml_process_2: case S_surfxml_process_1: SET(S_surfxml_process_2); break;
+ case S_surfxml_process_2: case S_surfxml_process: case S_surfxml_process_1: SET(S_surfxml_process_2); break;
}
}
YY_BREAK
if (!AX_surfxml_prop_value) FAIL("Required attribute `value' not set for `prop' element.");
LEAVE; STag_surfxml_prop(); surfxml_pcdata_ix = 0; ETag_surfxml_prop(); popbuffer(); /* attribute */
switch (YY_START) {
+ case S_surfxml_config: case S_surfxml_config_2: case S_surfxml_config_1: SET(S_surfxml_config_2); break;
+ case S_surfxml_storage_2: case S_surfxml_storage_1: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: case S_surfxml_storage___type: SET(S_surfxml_storage___type_2); break;
- case S_surfxml_process: case S_surfxml_process_2: case S_surfxml_process_1: SET(S_surfxml_process_2); break;
- case S_surfxml_storage_1: case S_surfxml_storage: case S_surfxml_storage_2: SET(S_surfxml_storage_2); break;
- case S_surfxml_cluster_2: case S_surfxml_cluster: case S_surfxml_cluster_1: SET(S_surfxml_cluster_2); break;
- case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
- case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
- case S_surfxml_config: case S_surfxml_config_1: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
case S_surfxml_link: case S_surfxml_link_2: case S_surfxml_link_1: SET(S_surfxml_link_2); break;
+ case S_surfxml_process_1: case S_surfxml_process_2: case S_surfxml_process: SET(S_surfxml_process_2); break;
+ case S_surfxml_host_1: case S_surfxml_host: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
+ case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
+ case S_surfxml_cluster_1: case S_surfxml_cluster: case S_surfxml_cluster_2: SET(S_surfxml_cluster_2); break;
}
}
YY_BREAK
ETag_surfxml_prop();
popbuffer(); /* attribute */
switch (YY_START) {
+ case S_surfxml_config: case S_surfxml_config_2: case S_surfxml_config_1: SET(S_surfxml_config_2); break;
+ case S_surfxml_storage_2: case S_surfxml_storage_1: case S_surfxml_storage: SET(S_surfxml_storage_2); break;
case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: case S_surfxml_storage___type: SET(S_surfxml_storage___type_2); break;
- case S_surfxml_process: case S_surfxml_process_2: case S_surfxml_process_1: SET(S_surfxml_process_2); break;
- case S_surfxml_storage_1: case S_surfxml_storage: case S_surfxml_storage_2: SET(S_surfxml_storage_2); break;
- case S_surfxml_cluster_2: case S_surfxml_cluster: case S_surfxml_cluster_1: SET(S_surfxml_cluster_2); break;
- case S_surfxml_host: case S_surfxml_host_1: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
- case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
- case S_surfxml_config: case S_surfxml_config_1: case S_surfxml_config_2: SET(S_surfxml_config_2); break;
case S_surfxml_link: case S_surfxml_link_2: case S_surfxml_link_1: SET(S_surfxml_link_2); break;
+ case S_surfxml_process_1: case S_surfxml_process_2: case S_surfxml_process: SET(S_surfxml_process_2); break;
+ case S_surfxml_host_1: case S_surfxml_host: case S_surfxml_host_2: SET(S_surfxml_host_2); break;
+ case S_surfxml_AS_2: case S_surfxml_AS_3: case S_surfxml_AS: SET(S_surfxml_AS_3); break;
+ case S_surfxml_cluster_1: case S_surfxml_cluster: case S_surfxml_cluster_2: SET(S_surfxml_cluster_2); break;
}
}
YY_BREAK
if (!AX_surfxml_model___prop_value) FAIL("Required attribute `value' not set for `model_prop' element.");
LEAVE; STag_surfxml_model___prop(); surfxml_pcdata_ix = 0; ETag_surfxml_model___prop(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
+ case S_surfxml_storage___type_2: case S_surfxml_storage___type: case S_surfxml_storage___type_1: SET(S_surfxml_storage___type_2); break;
}
}
YY_BREAK
ETag_surfxml_model___prop();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_surfxml_storage___type: case S_surfxml_storage___type_1: case S_surfxml_storage___type_2: SET(S_surfxml_storage___type_2); break;
+ case S_surfxml_storage___type_2: case S_surfxml_storage___type: case S_surfxml_storage___type_1: SET(S_surfxml_storage___type_2); break;
}
}
YY_BREAK
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 13, 0, 0, 14,
- 0, 15, 0
+ 0, 0, 0, 0, 0, 0, 15, 0, 0, 14,
+ 0, 13, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
int graphxml_pcdata_ix;
extern char *graphxml_bufferstack;
#define graphxml_pcdata (graphxml_bufferstack + graphxml_pcdata_ix)
-AT_graphxml_edge_target AX_graphxml_edge_target;
-#define A_graphxml_edge_target (graphxml_bufferstack + AX_graphxml_edge_target)
-short int graphxml_edge_target_isset;
-AT_graphxml_edge_length AX_graphxml_edge_length;
-#define A_graphxml_edge_length (graphxml_bufferstack + AX_graphxml_edge_length)
-short int graphxml_edge_length_isset;
+AT_graphxml_graph_isDirected AX_graphxml_graph_isDirected;
+#define A_graphxml_graph_isDirected AX_graphxml_graph_isDirected
+short int graphxml_graph_isDirected_isset;
AT_graphxml_node_label AX_graphxml_node_label;
#define A_graphxml_node_label (graphxml_bufferstack + AX_graphxml_node_label)
short int graphxml_node_label_isset;
-AT_graphxml_edge_data AX_graphxml_edge_data;
-#define A_graphxml_edge_data (graphxml_bufferstack + AX_graphxml_edge_data)
-short int graphxml_edge_data_isset;
-AT_graphxml_edge_label AX_graphxml_edge_label;
-#define A_graphxml_edge_label (graphxml_bufferstack + AX_graphxml_edge_label)
-short int graphxml_edge_label_isset;
-AT_graphxml_node_position___y AX_graphxml_node_position___y;
-#define A_graphxml_node_position___y (graphxml_bufferstack + AX_graphxml_node_position___y)
-short int graphxml_node_position___y_isset;
+AT_graphxml_edge_target AX_graphxml_edge_target;
+#define A_graphxml_edge_target (graphxml_bufferstack + AX_graphxml_edge_target)
+short int graphxml_edge_target_isset;
AT_graphxml_edge_name AX_graphxml_edge_name;
#define A_graphxml_edge_name (graphxml_bufferstack + AX_graphxml_edge_name)
short int graphxml_edge_name_isset;
AT_graphxml_node_data AX_graphxml_node_data;
#define A_graphxml_node_data (graphxml_bufferstack + AX_graphxml_node_data)
short int graphxml_node_data_isset;
-AT_graphxml_edge_source AX_graphxml_edge_source;
-#define A_graphxml_edge_source (graphxml_bufferstack + AX_graphxml_edge_source)
-short int graphxml_edge_source_isset;
+AT_graphxml_node_position___y AX_graphxml_node_position___y;
+#define A_graphxml_node_position___y (graphxml_bufferstack + AX_graphxml_node_position___y)
+short int graphxml_node_position___y_isset;
+AT_graphxml_edge_data AX_graphxml_edge_data;
+#define A_graphxml_edge_data (graphxml_bufferstack + AX_graphxml_edge_data)
+short int graphxml_edge_data_isset;
AT_graphxml_node_position___x AX_graphxml_node_position___x;
#define A_graphxml_node_position___x (graphxml_bufferstack + AX_graphxml_node_position___x)
short int graphxml_node_position___x_isset;
-AT_graphxml_graph_isDirected AX_graphxml_graph_isDirected;
-#define A_graphxml_graph_isDirected AX_graphxml_graph_isDirected
-short int graphxml_graph_isDirected_isset;
+AT_graphxml_edge_label AX_graphxml_edge_label;
+#define A_graphxml_edge_label (graphxml_bufferstack + AX_graphxml_edge_label)
+short int graphxml_edge_label_isset;
+AT_graphxml_edge_length AX_graphxml_edge_length;
+#define A_graphxml_edge_length (graphxml_bufferstack + AX_graphxml_edge_length)
+short int graphxml_edge_length_isset;
+AT_graphxml_edge_source AX_graphxml_edge_source;
+#define A_graphxml_edge_source (graphxml_bufferstack + AX_graphxml_edge_source)
+short int graphxml_edge_source_isset;
AT_graphxml_node_name AX_graphxml_node_name;
#define A_graphxml_node_name (graphxml_bufferstack + AX_graphxml_node_name)
short int graphxml_node_name_isset;
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
-SET(ROOT_graphxml_edge);
+SET(ROOT_graphxml_graph);
YY_BREAK
case 14:
/* rule 14 can match eol */
case 15:
/* rule 15 can match eol */
YY_RULE_SETUP
-SET(ROOT_graphxml_graph);
+SET(ROOT_graphxml_edge);
YY_BREAK
case 16:
/* rule 16 can match eol */
FAIL("Unexpected character `%c': `</graph>' expected.",xbt_graph_parse_text[0]);
YY_BREAK
case YY_STATE_EOF(S_graphxml_graph_3):
-case YY_STATE_EOF(S_graphxml_graph):
+case YY_STATE_EOF(S_graphxml_graph_5):
case YY_STATE_EOF(E_graphxml_graph):
case YY_STATE_EOF(S_graphxml_graph_1):
-case YY_STATE_EOF(S_graphxml_graph_5):
+case YY_STATE_EOF(S_graphxml_graph):
FAIL("Premature EOF: `</graph>' expected.");
YY_BREAK
if (!AX_graphxml_node_name) FAIL("Required attribute `name' not set for `node' element.");
LEAVE; STag_graphxml_node(); graphxml_pcdata_ix = 0; ETag_graphxml_node(); popbuffer(); /* attribute */
switch (YY_START) {
+ case S_graphxml_graph_2: case S_graphxml_graph_3: case S_graphxml_graph: SET(S_graphxml_graph_3); break;
case ROOT_graphxml_node: SET(EPILOG); break;
- case S_graphxml_graph_2: case S_graphxml_graph: case S_graphxml_graph_3: SET(S_graphxml_graph_3); break;
}
}
YY_BREAK
ETag_graphxml_node();
popbuffer(); /* attribute */
switch (YY_START) {
+ case S_graphxml_graph_2: case S_graphxml_graph_3: case S_graphxml_graph: SET(S_graphxml_graph_3); break;
case ROOT_graphxml_node: SET(EPILOG); break;
- case S_graphxml_graph_2: case S_graphxml_graph: case S_graphxml_graph_3: SET(S_graphxml_graph_3); break;
}
}
YY_BREAK
if (!AX_graphxml_edge_target) FAIL("Required attribute `target' not set for `edge' element.");
LEAVE; STag_graphxml_edge(); graphxml_pcdata_ix = 0; ETag_graphxml_edge(); popbuffer(); /* attribute */
switch (YY_START) {
- case S_graphxml_graph_5: case S_graphxml_graph_1: case S_graphxml_graph: case S_graphxml_graph_3: case S_graphxml_graph_4: SET(S_graphxml_graph_5); break;
case ROOT_graphxml_edge: SET(EPILOG); break;
+ case S_graphxml_graph_4: case S_graphxml_graph_5: case S_graphxml_graph_3: case S_graphxml_graph_1: case S_graphxml_graph: SET(S_graphxml_graph_5); break;
}
}
YY_BREAK
ETag_graphxml_edge();
popbuffer(); /* attribute */
switch (YY_START) {
- case S_graphxml_graph_5: case S_graphxml_graph_1: case S_graphxml_graph: case S_graphxml_graph_3: case S_graphxml_graph_4: SET(S_graphxml_graph_5); break;
case ROOT_graphxml_edge: SET(EPILOG); break;
+ case S_graphxml_graph_4: case S_graphxml_graph_5: case S_graphxml_graph_3: case S_graphxml_graph_1: case S_graphxml_graph: SET(S_graphxml_graph_5); break;
}
}
YY_BREAK