typedef size_t yy_size_t;
#endif
-static inline char* sg_storage_name(sg_storage_t storage) {
- return storage->key;
-}
-
XBT_PUBLIC(sg_netcard_t) sg_netcard_by_name_or_null(const char *name);
-XBT_PUBLIC(tmgr_trace_t) tmgr_trace_new_from_file(const char *filename);
-XBT_PUBLIC(tmgr_trace_t) tmgr_trace_new_from_string(const char *id,
- const char *input,
- double periodicity);
typedef enum {
SURF_CLUSTER_FAT_TREE=2,
SURF_CLUSTER_FLAT = 1,
typedef struct {
const char* id;
- xbt_dynar_t speed_peak;
+ xbt_dynar_t speed_per_pstate;
int pstate;
int core_amount;
tmgr_trace_t speed_trace;
typedef struct s_sg_platf_route_cbarg *sg_platf_route_cbarg_t;
typedef struct s_sg_platf_route_cbarg {
- int symmetrical;
+ bool symmetrical;
const char *src;
const char *dst;
sg_netcard_t gw_src;
sg_netcard_t gw_dst;
- xbt_dynar_t link_list;
+ std::vector<Link*> *link_list;
} s_sg_platf_route_cbarg_t;
#define SG_PLATF_ROUTE_INITIALIZER {1,NULL,NULL,NULL,NULL,NULL}
#define SG_PLATF_STORAGE_TYPE_INITIALIZER {NULL,NULL,NULL,NULL,NULL,NULL,0}
-typedef struct {
- const char* type_id;
- const char* name;
-} s_sg_platf_mstorage_cbarg_t, *sg_platf_mstorage_cbarg_t;
-
-#define SG_PLATF_MSTORAGE_INITIALIZER {NULL,NULL}
-
typedef struct {
const char* storageId;
const char* name;
#define SG_PLATF_AS_INITIALIZER {NULL,0}
-/** opaque structure defining a event generator for availability based on a probability distribution */
-typedef struct probabilist_event_generator *probabilist_event_generator_t;
-
/********** Routing **********/
-void routing_AS_begin(sg_platf_AS_cbarg_t AS);
-void routing_AS_end(void);
void routing_cluster_add_backbone(Link* bb);
-surf_As* routing_get_current();
/*** END of the parsing cruft ***/
XBT_PUBLIC(void) sg_platf_begin(void); // Start a new platform
XBT_PUBLIC(void) sg_platf_new_trace(sg_platf_trace_cbarg_t trace);
XBT_PUBLIC(void) sg_platf_new_storage(sg_platf_storage_cbarg_t storage); // Add a storage to the currently described AS
-XBT_PUBLIC(void) sg_platf_new_mstorage(sg_platf_mstorage_cbarg_t mstorage);
XBT_PUBLIC(void) sg_platf_new_storage_type(sg_platf_storage_type_cbarg_t storage_type);
XBT_PUBLIC(void) sg_platf_new_mount(sg_platf_mount_cbarg_t mount);
XBT_PRIVATE void surfxml_bufferstack_pop(int _new);
XBT_PUBLIC_DATA(int) surfxml_bufferstack_size;
+XBT_PUBLIC(void) routing_route_free(sg_platf_route_cbarg_t route);
+/********** Instr. **********/
+XBT_PRIVATE void sg_instr_AS_begin(sg_platf_AS_cbarg_t AS);
+XBT_PRIVATE void sg_instr_new_router(sg_platf_router_cbarg_t router);
+XBT_PRIVATE void sg_instr_new_host(sg_platf_host_cbarg_t host);
+XBT_PRIVATE void sg_instr_AS_end(void);
+
+typedef struct s_surf_parsing_link_up_down *surf_parsing_link_up_down_t;
+typedef struct s_surf_parsing_link_up_down {
+ Link* link_up;
+ Link* link_down;
+} s_surf_parsing_link_up_down_t;
+
+
SG_END_DECL()
namespace simgrid {
extern XBT_PRIVATE simgrid::xbt::signal<void(sg_platf_link_cbarg_t)> on_link;
extern XBT_PRIVATE simgrid::xbt::signal<void(sg_platf_cluster_cbarg_t)> on_cluster;
-extern XBT_PRIVATE simgrid::xbt::signal<void(void)> on_postparse;
}
}