XBT_INFO("Computation time for %f flops on %s: %f", comp_amount2, h2->cname(), comp_amount2/h2->speed());
XBT_INFO("Route between %s and %s:", h1->cname(), h2->cname());
- std::vector<Link*> route;
+ std::vector<sg_link_t> route;
double latency = 0;
h1->routeTo(h2, &route, &latency);
namespace simgrid {
namespace s4u {
- class NetZone;
+ class Actor;
class Host;
class Link;
class Mailbox;
+ class NetZone;
}
namespace kernel {
namespace activity {
}
}
-typedef simgrid::s4u::NetZone simgrid_NetZone;
-typedef simgrid::s4u::Host simgrid_Host;
-typedef simgrid::s4u::Link Link;
+typedef simgrid::s4u::Actor s4u_Actor;
+typedef simgrid::s4u::Host s4u_Host;
+typedef simgrid::s4u::Link s4u_Link;
+typedef simgrid::s4u::NetZone s4u_NetZone;
typedef simgrid::kernel::activity::ActivityImpl kernel_Activity;
typedef simgrid::kernel::routing::NetPoint routing_NetPoint;
typedef simgrid::surf::Cpu surf_Cpu;
#else
-typedef struct simgrid_NetZone simgrid_NetZone;
-typedef struct simgrid_Host simgrid_Host;
+typedef struct s4u_Actor s4u_Actor;
+typedef struct s4u_Host s4u_Host;
+typedef struct s4u_Link s4u_Link;
+typedef struct s4u_NetZone s4u_NetZone;
typedef struct kernel_Activity kernel_Activity;
typedef struct surf_Cpu surf_Cpu;
typedef struct routing_NetPoint routing_NetPoint;
typedef struct surf_Resource surf_Resource;
-typedef struct Link Link;
typedef struct Trace tmgr_Trace;
#endif
-typedef simgrid_NetZone* NetZone_t;
-typedef simgrid_Host* sg_host_t;
+typedef s4u_NetZone* sg_netzone_t;
+typedef s4u_Host* sg_host_t;
+typedef s4u_Link* sg_link_t;
typedef kernel_Activity *smx_activity_t;
std::vector<sg_host_t> resource_list;
void addChild(Container* child);
void addResources(std::vector<sg_host_t> hosts);
- void createHierarchy(NetZone_t from_as);
+ void createHierarchy(sg_netzone_t from_as);
std::vector<int> getHierarchy();
std::string getHierarchyAsString();
void print(FILE *file);
/* C interface */
SG_BEGIN_DECL()
-XBT_PUBLIC(const char*) sg_link_name(Link *link);
-XBT_PUBLIC(Link *) sg_link_by_name(const char *name);
-XBT_PUBLIC(int) sg_link_is_shared(Link *link);
-XBT_PUBLIC(double) sg_link_bandwidth(Link *link);
-XBT_PUBLIC(double) sg_link_latency(Link *link);
-XBT_PUBLIC(void*) sg_link_data(Link *link);
-XBT_PUBLIC(void) sg_link_data_set(Link *link,void *data);
+XBT_PUBLIC(const char*) sg_link_name(sg_link_t link);
+XBT_PUBLIC(sg_link_t) sg_link_by_name(const char* name);
+XBT_PUBLIC(int) sg_link_is_shared(sg_link_t link);
+XBT_PUBLIC(double) sg_link_bandwidth(sg_link_t link);
+XBT_PUBLIC(double) sg_link_latency(sg_link_t link);
+XBT_PUBLIC(void*) sg_link_data(sg_link_t link);
+XBT_PUBLIC(void) sg_link_data_set(sg_link_t link, void* data);
XBT_PUBLIC(int) sg_link_count();
-XBT_PUBLIC(Link**) sg_link_list();
+XBT_PUBLIC(sg_link_t*) sg_link_list();
XBT_PUBLIC(void) sg_link_exit();
SG_END_DECL()
/* *************************** Network Zones ******************************** */
#define msg_as_t msg_netzone_t /* portability macro */
-typedef simgrid_NetZone* msg_netzone_t;
+typedef s4u_NetZone* msg_netzone_t;
/* ******************************** Host ************************************ */
MSG_process_create_with_environment(const char* name, xbt_main_func_t code, void* data, msg_host_t host, int argc,
char** argv, xbt_dict_t properties);
-XBT_PUBLIC(msg_process_t) MSG_process_attach(
- const char *name, void *data,
- msg_host_t host, xbt_dict_t properties);
+XBT_PUBLIC(msg_process_t) MSG_process_attach(const char* name, void* data, msg_host_t host, xbt_dict_t properties);
XBT_PUBLIC(void) MSG_process_detach();
XBT_PUBLIC(void) MSG_process_kill(msg_process_t process);
A link is a network node represented as a <em>name</em>, a <em>bandwidth</em> and a <em>latency</em>.
A route is a list of links between two hosts.
*/
-typedef Link *SD_link_t;
+typedef sg_link_t SD_link_t;
/** @brief Task opaque datatype
@ingroup SD_task_api
}
}
-void Container::createHierarchy(NetZone_t from_as)
+void Container::createHierarchy(sg_netzone_t from_as)
{
xbt_dict_cursor_t cursor = nullptr;
- char *key;
- NetZone_t elem;
+ char* key;
+ sg_netzone_t elem;
xbt_dict_t routing_sons = from_as->children();
if (xbt_dict_is_empty(routing_sons)) {
void jedule_sd_init()
{
- NetZone_t root_comp = simgrid::s4u::Engine::instance()->netRoot();
+ sg_netzone_t root_comp = simgrid::s4u::Engine::instance()->netRoot();
XBT_DEBUG("root name %s\n", root_comp->name());
my_jedule = new simgrid::jedule::Jedule();
return current;
xbt_dict_cursor_t cursor = nullptr;
- char *key;
- NetZone_t elem;
+ char* key;
+ s4u::NetZone* elem;
xbt_dict_foreach(current->children(), cursor, key, elem) {
simgrid::s4u::NetZone* tmp = netzoneByNameRecursive(elem, name);
if (tmp != nullptr) {
extern "C" {
-const char* sg_link_name(Link* link)
+const char* sg_link_name(sg_link_t link)
{
return link->name();
}
-Link* sg_link_by_name(const char* name)
+sg_link_t sg_link_by_name(const char* name)
{
- return Link::byName(name);
+ return simgrid::s4u::Link::byName(name);
}
-int sg_link_is_shared(Link* link)
+int sg_link_is_shared(sg_link_t link)
{
return link->sharingPolicy();
}
-double sg_link_bandwidth(Link* link)
+double sg_link_bandwidth(sg_link_t link)
{
return link->bandwidth();
}
-double sg_link_latency(Link* link)
+double sg_link_latency(sg_link_t link)
{
return link->latency();
}
-void* sg_link_data(Link* link)
+void* sg_link_data(sg_link_t link)
{
return link->getData();
}
-void sg_link_data_set(Link* link, void* data)
+void sg_link_data_set(sg_link_t link, void* data)
{
link->setData(data);
}
{
return simgrid::surf::LinkImpl::linksCount();
}
-Link** sg_link_list()
+sg_link_t* sg_link_list()
{
simgrid::surf::LinkImpl** list = simgrid::surf::LinkImpl::linksList();
- Link** res = (Link**)list; // Use the same memory area
+ sg_link_t* res = (sg_link_t*)list; // Use the same memory area
int size = sg_link_count();
for (int i = 0; i < size; i++)
{
xbt_dict_cursor_t cursor = nullptr;
char* key;
- NetZone_t elem;
+ NetZone* elem;
xbt_dict_foreach (children_, cursor, key, elem) {
delete static_cast<NetZone*>(elem);
}
XBT_DEBUG("Graph extraction for NetZone = %s", netzone->name());
if (!xbt_dict_is_empty(netzone->children())) {
xbt_dict_cursor_t cursor = nullptr;
- NetZone_t nz_son;
+ sg_netzone_t nz_son;
char *child_name;
//bottom-up recursion
xbt_dict_foreach (netzone->children(), cursor, child_name, nz_son) {
#define GRAPHICATOR_SUPPORT_FUNCTIONS
-static void recursiveXBTGraphExtraction(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges, NetZone_t netzone,
+static void recursiveXBTGraphExtraction(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges, sg_netzone_t netzone,
container_t container)
{
if (!xbt_dict_is_empty(netzone->children())) {
xbt_dict_cursor_t cursor = nullptr;
- NetZone_t netzone_child;
+ sg_netzone_t netzone_child;
char *child_name;
//bottom-up recursion
xbt_dict_foreach (netzone->children(), cursor, child_name, netzone_child) {
************/
LinkImpl::LinkImpl(simgrid::surf::NetworkModel* model, const char* name, lmm_constraint_t constraint)
- : Resource(model, name, constraint), piface_(Link(this))
+ : Resource(model, name, constraint), piface_(this)
{
if (strcmp(name,"__loopback__"))
XBT_PUBLIC(void) storage_register_callbacks();
-XBT_PUBLIC(void) generic_get_graph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges, NetZone_t rc);
+XBT_PUBLIC(void) generic_get_graph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges, sg_netzone_t rc);
XBT_PRIVATE void parse_after_config();
/********** Tracing **********/
xbt_dict_foreach(trace_connect_list_link_avail, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
xbt_assert(trace, "Trace %s undefined", trace_name);
- Link *link = Link::byName(elm);
+ sg_link_t link = simgrid::s4u::Link::byName(elm);
xbt_assert(link, "Link %s undefined", elm);
link->setStateTrace(trace);
}
xbt_dict_foreach(trace_connect_list_link_bw, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
xbt_assert(trace, "Trace %s undefined", trace_name);
- Link *link = Link::byName(elm);
+ sg_link_t link = simgrid::s4u::Link::byName(elm);
xbt_assert(link, "Link %s undefined", elm);
link->setBandwidthTrace(trace);
}
xbt_dict_foreach(trace_connect_list_link_lat, cursor, trace_name, elm) {
tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
xbt_assert(trace, "Trace %s undefined", trace_name);
- Link *link = Link::byName(elm);
+ sg_link_t link = simgrid::s4u::Link::byName(elm);
xbt_assert(link, "Link %s undefined", elm);
link->setLatencyTrace(trace);
}