X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cf6a1d5f1eddea2b377415ab57c5185058488269..237fd22b56db7d1c67360c37559ce3aab16a002d:/src/surf/xml/surfxml_sax_cb.cpp?ds=sidebyside diff --git a/src/surf/xml/surfxml_sax_cb.cpp b/src/surf/xml/surfxml_sax_cb.cpp index fc31b33291..62947af7a7 100644 --- a/src/surf/xml/surfxml_sax_cb.cpp +++ b/src/surf/xml/surfxml_sax_cb.cpp @@ -28,8 +28,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_parse, surf, "Logging specific to the SURF parsing module"); std::string surf_parsed_filename; // Currently parsed file (for the error messages) -std::vector - parsed_link_list; /* temporary store of current link list of a route */ +std::vector parsed_link_list; /* temporary store of current link list of a route */ /* Helping functions */ void surf_parse_assert(bool cond, const std::string& msg) @@ -237,8 +236,8 @@ void STag_surfxml_host() property_sets.emplace_back(); host.id = A_surfxml_host_id; - host.speed_per_pstate = - xbt_parse_get_all_speeds(surf_parsed_filename, surf_parse_lineno, A_surfxml_host_speed, "speed of host", host.id); + host.speed_per_pstate = xbt_parse_get_all_speeds(surf_parsed_filename, surf_parse_lineno, A_surfxml_host_speed, + "speed of host " + host.id); XBT_DEBUG("pstate: %s", A_surfxml_host_pstate); host.core_amount = surf_parse_get_int(A_surfxml_host_core); @@ -276,9 +275,9 @@ void ETag_surfxml_disk() { disk.id = A_surfxml_disk_id; disk.read_bw = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_disk_read___bw, - "read_bw of disk ", disk.id); + "read_bw of disk " + disk.id); disk.write_bw = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_disk_write___bw, - "write_bw of disk ", disk.id); + "write_bw of disk " + disk.id); sg_platf_new_disk(&disk); } @@ -307,29 +306,30 @@ void ETag_surfxml_cluster(){ cluster.suffix = A_surfxml_cluster_suffix; explodesRadical(A_surfxml_cluster_radical, &cluster.radicals); - cluster.speeds = xbt_parse_get_all_speeds(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_speed, - "speed of cluster", cluster.id); + cluster.speeds = xbt_parse_get_all_speeds(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_speed, + "speed of cluster " + cluster.id); cluster.core_amount = surf_parse_get_int(A_surfxml_cluster_core); - cluster.bw = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_bw, "bw of cluster", - cluster.id); - cluster.lat = - xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_lat, "lat of cluster", cluster.id); + cluster.bw = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_bw, + "bw of cluster " + cluster.id); + cluster.lat = xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_lat, + "lat of cluster " + cluster.id); if(strcmp(A_surfxml_cluster_bb___bw,"")) cluster.bb_bw = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_bb___bw, - "bb_bw of cluster", cluster.id); + "bb_bw of cluster " + cluster.id); if(strcmp(A_surfxml_cluster_bb___lat,"")) cluster.bb_lat = xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_bb___lat, - "bb_lat of cluster", cluster.id); + "bb_lat of cluster " + cluster.id); if(strcmp(A_surfxml_cluster_limiter___link,"")) cluster.limiter_link = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_limiter___link, - "limiter_link of cluster", cluster.id); + "limiter_link of cluster " + cluster.id); if(strcmp(A_surfxml_cluster_loopback___bw,"")) - cluster.loopback_bw = xbt_parse_get_bandwidth( - surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_loopback___bw, "loopback_bw of cluster", cluster.id); + cluster.loopback_bw = + xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_loopback___bw, + "loopback_bw of cluster " + cluster.id); if(strcmp(A_surfxml_cluster_loopback___lat,"")) cluster.loopback_lat = xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_cluster_loopback___lat, - "loopback_lat of cluster", cluster.id); + "loopback_lat of cluster " + cluster.id); switch(AX_surfxml_cluster_topology){ case A_surfxml_cluster_topology_FLAT: @@ -391,11 +391,11 @@ void STag_surfxml_cabinet(){ cabinet.prefix = A_surfxml_cabinet_prefix; cabinet.suffix = A_surfxml_cabinet_suffix; cabinet.speed = xbt_parse_get_speed(surf_parsed_filename, surf_parse_lineno, A_surfxml_cabinet_speed, - "speed of cabinet", cabinet.id.c_str()); - cabinet.bw = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_cabinet_bw, "bw of cabinet", - cabinet.id.c_str()); - cabinet.lat = xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_cabinet_lat, "lat of cabinet", - cabinet.id.c_str()); + "speed of cabinet " + cabinet.id); + cabinet.bw = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_cabinet_bw, + "bw of cabinet " + cabinet.id); + cabinet.lat = xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_cabinet_lat, + "lat of cabinet " + cabinet.id); explodesRadical(A_surfxml_cabinet_radical, &cabinet.radicals); sg_platf_new_cabinet(&cabinet); @@ -405,12 +405,12 @@ void STag_surfxml_peer(){ simgrid::kernel::routing::PeerCreationArgs peer; peer.id = std::string(A_surfxml_peer_id); - peer.speed = xbt_parse_get_speed(surf_parsed_filename, surf_parse_lineno, A_surfxml_peer_speed, "speed of peer", - peer.id.c_str()); - peer.bw_in = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_peer_bw___in, "bw_in of peer", - peer.id.c_str()); - peer.bw_out = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_peer_bw___out, - "bw_out of peer", peer.id.c_str()); + peer.speed = + xbt_parse_get_speed(surf_parsed_filename, surf_parse_lineno, A_surfxml_peer_speed, "speed of peer " + peer.id); + peer.bw_in = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_peer_bw___in, + "bw_in of peer " + peer.id); + peer.bw_out = xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, A_surfxml_peer_bw___out, + "bw_out of peer " + peer.id); peer.coord = A_surfxml_peer_coordinates; peer.speed_trace = nullptr; if (A_surfxml_peer_availability___file[0] != '\0') { @@ -442,12 +442,12 @@ void ETag_surfxml_link(){ link.id = std::string(A_surfxml_link_id); link.bandwidths = xbt_parse_get_bandwidths(surf_parsed_filename, surf_parse_lineno, A_surfxml_link_bandwidth, - "bandwidth of link", link.id.c_str()); + "bandwidth of link " + link.id); link.bandwidth_trace = A_surfxml_link_bandwidth___file[0] ? simgrid::kernel::profile::Profile::from_file(A_surfxml_link_bandwidth___file) : nullptr; - link.latency = xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_link_latency, "latency of link", - link.id.c_str()); + link.latency = + xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_link_latency, "latency of link " + link.id); link.latency_trace = A_surfxml_link_latency___file[0] ? simgrid::kernel::profile::Profile::from_file(A_surfxml_link_latency___file) : nullptr; @@ -481,17 +481,20 @@ void ETag_surfxml_link(){ void STag_surfxml_link___ctn() { - simgrid::kernel::resource::LinkImpl* link = nullptr; + const simgrid::s4u::Link* link; + simgrid::s4u::LinkInRoute::Direction direction = simgrid::s4u::LinkInRoute::Direction::NONE; switch (A_surfxml_link___ctn_direction) { case AU_surfxml_link___ctn_direction: case A_surfxml_link___ctn_direction_NONE: - link = simgrid::s4u::Link::by_name(std::string(A_surfxml_link___ctn_id))->get_impl(); + link = simgrid::s4u::Link::by_name(std::string(A_surfxml_link___ctn_id)); break; case A_surfxml_link___ctn_direction_UP: - link = simgrid::s4u::Link::by_name(std::string(A_surfxml_link___ctn_id) + "_UP")->get_impl(); + link = simgrid::s4u::SplitDuplexLink::by_name(std::string(A_surfxml_link___ctn_id)); + direction = simgrid::s4u::LinkInRoute::Direction::UP; break; case A_surfxml_link___ctn_direction_DOWN: - link = simgrid::s4u::Link::by_name(std::string(A_surfxml_link___ctn_id) + "_DOWN")->get_impl(); + link = simgrid::s4u::SplitDuplexLink::by_name(std::string(A_surfxml_link___ctn_id)); + direction = simgrid::s4u::LinkInRoute::Direction::DOWN; break; default: surf_parse_error(std::string("Invalid direction for link ") + A_surfxml_link___ctn_id); @@ -509,7 +512,7 @@ void STag_surfxml_link___ctn() dirname = ""; } surf_parse_assert(link != nullptr, std::string("No such link: '") + A_surfxml_link___ctn_id + "'" + dirname); - parsed_link_list.push_back(link); + parsed_link_list.emplace_back(link, direction); } void ETag_surfxml_backbone() @@ -517,11 +520,10 @@ void ETag_surfxml_backbone() auto link = std::make_unique(); link->id = std::string(A_surfxml_backbone_id); - link->bandwidths.push_back(xbt_parse_get_bandwidth(surf_parsed_filename, surf_parse_lineno, - A_surfxml_backbone_bandwidth, "bandwidth of backbone", - link->id.c_str())); + link->bandwidths.push_back(xbt_parse_get_bandwidth( + surf_parsed_filename, surf_parse_lineno, A_surfxml_backbone_bandwidth, "bandwidth of backbone " + link->id)); link->latency = xbt_parse_get_time(surf_parsed_filename, surf_parse_lineno, A_surfxml_backbone_latency, - "latency of backbone", link->id.c_str()); + "latency of backbone " + link->id); link->policy = simgrid::s4u::Link::SharingPolicy::SHARED; routing_cluster_add_backbone(std::move(link)); @@ -615,7 +617,7 @@ void ETag_surfxml_bypassRoute(){ route.link_list.swap(parsed_link_list); - sg_platf_new_bypassRoute(&route); + sg_platf_new_bypass_route(&route); } void ETag_surfxml_bypassASroute() @@ -639,7 +641,7 @@ void ETag_surfxml_bypassZoneRoute() ASroute.gw_src = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_gw___src); ASroute.gw_dst = sg_netpoint_by_name_or_null(A_surfxml_bypassZoneRoute_gw___dst); - sg_platf_new_bypassRoute(&ASroute); + sg_platf_new_bypass_route(&ASroute); } void ETag_surfxml_trace(){ @@ -701,14 +703,14 @@ void STag_surfxml_zone() simgrid::kernel::routing::ZoneCreationArgs zone; zone.id = A_surfxml_zone_id; zone.routing = A_surfxml_zone_routing; - sg_platf_new_Zone_begin(&zone); + sg_platf_new_zone_begin(&zone); } void ETag_surfxml_zone() { - sg_platf_new_Zone_set_properties(property_sets.back()); + sg_platf_new_zone_set_properties(property_sets.back()); property_sets.pop_back(); - sg_platf_new_Zone_seal(); + sg_platf_new_zone_seal(); } void STag_surfxml_config()