X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1bd3b1e9e02dd5662a771c1b382cfa1d1d9a2e08..d27569cf3d838674e1325b58e2b9184b5b700bf5:/teshsuite/surf/trace_usage/trace_usage.cpp?ds=sidebyside diff --git a/teshsuite/surf/trace_usage/trace_usage.cpp b/teshsuite/surf/trace_usage/trace_usage.cpp index 595d649a7f..07441cf392 100644 --- a/teshsuite/surf/trace_usage/trace_usage.cpp +++ b/teshsuite/surf/trace_usage/trace_usage.cpp @@ -7,49 +7,50 @@ * under the terms of the license (GNU LGPL) which comes with this package. */ #include "surf/surf.h" - #include "xbt/log.h" - -#include -#include -#include +#include "src/surf/network_interface.hpp" #include "src/surf/trace_mgr.hpp" -XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, - "Messages specific for surf example"); +XBT_LOG_NEW_DEFAULT_CATEGORY(surf_test, "Messages specific for surf example"); + +class DummyTestResource + : public simgrid::surf::Resource { +public: + explicit DummyTestResource(const char* name) : Resource(nullptr, name, nullptr) {} + bool isUsed() override {return false;} + void apply_event(tmgr_trace_iterator_t it, double value) override {} +}; -static void test(void) +int main(int argc, char **argv) { + surf_init(&argc, argv); + simgrid::trace_mgr::future_evt_set *fes = new simgrid::trace_mgr::future_evt_set(); tmgr_trace_t trace_A = tmgr_trace_new_from_file("trace_A.txt"); tmgr_trace_t trace_B = tmgr_trace_new_from_file("trace_B.txt"); - double next_event_date = -1.0; double value = -1.0; - char *resource = NULL; - char *host_A = strdup("Host A"); - char *host_B = strdup("Host B"); - - fes->add_trace(trace_A, 1.0, 2, host_A); - fes->add_trace(trace_B, 0.0, 0, host_B); - - while ((next_event_date = fes->next_date()) != -1.0) { - XBT_DEBUG("%g" " : \n", next_event_date); - while (fes->pop_leq(next_event_date, &value, (void **) &resource)) { - XBT_DEBUG("\t %s : " "%g" "\n", resource, value); + simgrid::surf::Resource *resource = nullptr; + simgrid::surf::Resource *hostA = new DummyTestResource("Host A"); + simgrid::surf::Resource *hostB = new DummyTestResource("Host B"); + + fes->add_trace(trace_A, 1.0, hostA); + fes->add_trace(trace_B, 0.0, hostB); + + double next_event_date = fes->next_date(); + while (next_event_date > -1.0) { + XBT_INFO("%g:", next_event_date); + while (fes->pop_leq(next_event_date, &value, &resource)) { + XBT_INFO(" %s: %g", resource->getName(), value); } - if (next_event_date > 1000) + if (next_event_date > 100) break; + next_event_date = fes->next_date(); } delete fes; - free(host_B); - free(host_A); -} + delete hostA; + delete hostB; -int main(int argc, char **argv) -{ - surf_init(&argc, argv); - test(); surf_exit(); return 0; }