X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3ebb95127bac9bc6d8ba66319f1db561e9a5c6c1..364eee0fc6ab77fddc5437ac273527bd27711724:/include/simgrid/jedule/jedule_platform.hpp diff --git a/include/simgrid/jedule/jedule_platform.hpp b/include/simgrid/jedule/jedule_platform.hpp index 204ddc87e7..9510ad01b0 100644 --- a/include/simgrid/jedule/jedule_platform.hpp +++ b/include/simgrid/jedule/jedule_platform.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2012, 2014-2015. The SimGrid Team. +/* Copyright (c) 2010-2012, 2014-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -13,8 +13,7 @@ #include #include #include - -#if HAVE_JEDULE +#if SIMGRID_HAVE_JEDULE namespace simgrid { namespace jedule{ @@ -27,53 +26,35 @@ private: int is_lowest = 0; public: std::string name; - std::unordered_map name2id; + std::unordered_map name2id; Container *parent = nullptr; std::vector children; std::vector resource_list; void addChild(Container* child); void addResources(std::vector hosts); - void createHierarchy(AS_t from_as); + void createHierarchy(sg_netzone_t from_as); std::vector getHierarchy(); std::string getHierarchyAsString(); void print(FILE *file); void printResources(FILE *file); }; -} -} -SG_BEGIN_DECL() -typedef simgrid::jedule::Container * jed_container_t; - -/* FIXME: jedule_container should be objectified too */ -/** selection of a subset of resources from the original set */ -struct jed_res_subset { - jed_container_t parent; +XBT_PUBLIC_CLASS Subset { +public: + Subset(int s, int n, Container* p); + virtual ~Subset()=default; int start_idx; // start idx in resource_list of container int nres; // number of resources spanning starting at start_idx + Container *parent; }; -typedef struct jed_res_subset s_jed_res_subset_t, *jed_res_subset_t; - -/** - * it is assumed that the host_names in the entire system are unique that means that we don't need parent references - * - * subset_list must be allocated - * host_names is the list of host_names associated with an event - */ -void jed_simgrid_get_resource_selection_by_hosts(xbt_dynar_t subset_list, std::vector* host_list); - -/* - global: - hash host_id -> container - container: - hash host_id -> jed_host_id - list <- [ jed_host_ids ] - list <- sort( list ) - list_chunks <- chunk( list ) -> [ 1, 3-5, 7-9 ] -*/ - -SG_END_DECL() +} +} +extern "C" { +typedef simgrid::jedule::Container * jed_container_t; +typedef simgrid::jedule::Subset * jed_subset_t; +void get_resource_selection_by_hosts(std::vector* subset_list, std::vector *host_list); +} #endif