#include <xbt/signal.hpp>
#include "surf_interface.hpp"
+#include "src/surf/xml/platf_private.hpp" // FIXME: including this here is pure madness. KILKILKIL XML.
#include <float.h>
+#include <vector>
+#include <map>
+
+SG_BEGIN_DECL()
XBT_PUBLIC(void) routing_model_create( void *loopback);
+XBT_PRIVATE xbt_node_t new_xbt_graph_node (xbt_graph_t graph, const char *name, xbt_dict_t nodes);
+XBT_PRIVATE xbt_edge_t new_xbt_graph_edge (xbt_graph_t graph, xbt_node_t s, xbt_node_t d, xbt_dict_t edges);
+SG_END_DECL()
namespace simgrid {
namespace surf {
private:
bool sealed_ = false; // We cannot add more content when sealed
+ std::map<std::string, std::vector<Link*>*> *bypassRoutes_ = nullptr;
public:
/**
*/
virtual void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency)=0;
/** @brief retrieves the list of all routes of size 1 (of type src x dst x Link) */
- virtual xbt_dynar_t getOneLinkRoutes()=0;
+ virtual xbt_dynar_t getOneLinkRoutes();
virtual void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges)=0;
- virtual sg_platf_route_cbarg_t getBypassRoute(NetCard *src, NetCard *dst,double *lat);
+ std::vector<Link*> *getBypassRoute(NetCard *src, NetCard *dst);
/* Add content to the AS, at parsing time. It should be sealed afterward. */
virtual int addComponent(NetCard *elm); /* A host, a router or an AS, whatever */
virtual void addRoute(sg_platf_route_cbarg_t route);
- virtual void parseBypassroute(sg_platf_route_cbarg_t e_route);
+ void addBypassRoute(sg_platf_route_cbarg_t e_route);
};
struct XBT_PRIVATE NetCardImpl : public NetCard {