namespace kernel {
namespace routing {
-/** No specific routing. Mainly useful with the constant network model */
-class XBT_PRIVATE AsNone : public AsImpl {
+/** @ingroup ROUTING_API
+ * @brief NetZone with no routing, useful with the constant network model
+ *
+ * Such netzones never contain any link, and the latency is always left unchanged:
+ * the constant time network model computes this latency externally.
+ */
+
+class XBT_PRIVATE EmptyZone : public NetZoneImpl {
public:
- explicit AsNone(As* father, const char* name);
- ~AsNone() override;
+ explicit EmptyZone(NetZone* father, std::string name);
+ ~EmptyZone() override;
+
+ void getLocalRoute(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override
+ {
+ /* There can't be route in an Empty zone */
+ }
- void getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t into, double* latency) override;
- void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override;
+ void getGraph(xbt_graph_t graph, std::map<std::string, xbt_node_t>* /*nodes*/,
+ std::map<std::string, xbt_edge_t>* /*edges*/) override;
};
}
}